Navigation
Navigate Navigate Navigate Navigate Navigate Navigate Navigate Navigate

IfcCartesianTransformationOperator2DnonUniform

Definition from IAI: A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors:

If the Scale factor (at supertype IfcCartesianTransformationOperator) is omited, it defaults to 1.0. If the Scale2 factor is omited, it defaults to the value of Scale (the x axis scale factor).

NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor).

HISTORY: New entity in IFC Release 2x.

EXPRESS specification:

ENTITY IfcCartesianTransformationOperator2DnonUniform
SUBTYPE OF ( IfcCartesianTransformationOperator2D);
Scale2  :  OPTIONAL REAL;
DERIVE
Scl2  :  REAL :=  NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
WHERE
WR1  :  Scl2 > 0.0;
END_ENTITY;

Attribute definitions:

Scale2  :  The scaling value specified for the transformation along the axis 2. This is normally the y scale factor.
Scl2  :  The derived scale S(2) of the transformation along the axis 2 (normally the y axis), equal to Scale2 if that exists, or equal to the derived Scl1 (normally the x axis scale factor) otherwise.

Formal Propositions:

WR1  :  The derived scaling Scl2 shall be greater than zero.

Inheritance graph

ENTITY IfcCartesianTransformationOperator2DnonUniform;
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,?);
ENTITY IfcCartesianTransformationOperator2DnonUniform;
Scale2  :  OPTIONAL REAL;
DERIVE
Scl2  :  REAL :=  NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
END_ENTITY;