Skip to main content

Module transform

Module transform 

Source
Expand description

Rigid transforms: the composition algebra placements reduce to.

IFC expresses position as nested IfcAxis2Placement3D inside IfcLocalPlacement chains, plus IfcCartesianTransformationOperator for mapped items. All of it collapses to a 4x3 affine transform, which is what this module provides.

§Why 4x3 and not 4x4

The bottom row of an IFC transform is always [0,0,0,1]: there is no projective component. Storing it would invite code that reads it, and a non-affine transform in a building model is always a bug.

Non-uniform scale IS representable, because IfcCartesianTransformationOperator3DnonUniform exists.

Structs§

Transform
An affine transform: a 3x3 linear part plus a translation.