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:

- SELF\IfcCartesianTransformationOperator.Scale: the x axis scale factor
- Scale2: the y axis scale factor

If the Scale factor (at supertype IfcCartesianTransformationOperator) is omitted, it defaults to 1.0. If the Scale2 factor is omitted, 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;