Navigation
Navigate Navigate Navigate Navigate Navigate Navigate Navigate Navigate

IfcCartesianTransformationOperator2D

Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalised vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring.

NOTE: Corresponding STEP entity : cartesian_transformation_operator_2d, please refer to ISO/IS 10303-42:1994, p. 36 for the final definition of the formal standard.
HISTORY: New entity in IFC Release 2x.

EXPRESS specification:

ENTITY IfcCartesianTransformationOperator2D
SUPERTYPE OF (IfcCartesianTransformationOperator2DnonUniform)
SUBTYPE OF ( IfcCartesianTransformationOperator);
DERIVE
U  :  LIST [2:2] OF IfcDirection :=  IfcBaseAxis(2,SELF\IfcCartesianTransformationOperator.Axis1,
SELF\IfcCartesianTransformationOperator.Axis2,?);
WHERE
WR1  :  SELF\IfcCartesianTransformationOperator.Dim = 2;
WR2  :  NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR (SELF\IfcCartesianTransformationOperator.Axis1.Dim = 2);
WR3  :  NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR (SELF\IfcCartesianTransformationOperator.Axis2.Dim = 2);
END_ENTITY;

Attribute definitions:

U  :  The list of mutually orthogonal, normalised vectors defining the transformation matrix T. They are derived from the explicit attributes Axis1 and Axis2 in that order.

Formal Propositions:

WR1  :  The coordinate space dimensionality of this entity shall be 2.
WR2  :  The inherited Axis1 should have (if given) the dimensionality of 2.
WR3  :  The inherited Axis2 should have (if given) the dimensionality of 2.

Inheritance graph

ENTITY IfcCartesianTransformationOperator2D;
ENTITY IfcRepresentationItem;
INVERSE
LayerAssignments  :  SET OF IfcPresentationLayerAssignment FOR AssignedItems;
StyledByItem  :  SET [0:1] OF IfcStyledItem FOR Item;
ENTITY IfcGeometricRepresentationItem;
ENTITY IfcCartesianTransformationOperator;
Axis1  :  OPTIONAL IfcDirection;
Axis2  :  OPTIONAL IfcDirection;
LocalOrigin  :  IfcCartesianPoint;
Scale  :  OPTIONAL REAL;
DERIVE
Scl  :  REAL :=  NVL(Scale, 1.0);
Dim  :  IfcDimensionCount :=  LocalOrigin.Dim;
ENTITY IfcCartesianTransformationOperator2D;
DERIVE
U  :  LIST [2:2] OF IfcDirection :=  IfcBaseAxis(2,SELF\IfcCartesianTransformationOperator.Axis1,
SELF\IfcCartesianTransformationOperator.Axis2,?);
END_ENTITY;