Skip to main content

Module group

Module group 

Source
Expand description

Types of transforms based on group theory. Transformation group element types.

These types model the transformation-group hierarchy that ranim supports. Model transforms stop at the affine group — projective transforms live solely in the camera projection:

Translation ──> Rigid ──> Similarity ──> DAffine3 (Aff(3))
   (T(3))      (SE(3))     (Sim(3))          ▲
                    Diag (axis-aligned scaling) ──┘

Group containment is encoded as lossless From conversions (embeddings up the hierarchy); the fallible downward direction is TryFrom (e.g. [DAffine3] → Similarity requires the linear part to be a uniform-scale rotation).

Shapes declare their closure group by implementing ApplyTransform with a G: Into<...> bound (e.g. G: Into<DAffine3> for affine-closure point data, or G: Into<Similarity> for circles and spheres); the operation traits (ShiftTransform, RotateTransform, ScaleTransform, UniformScaleTransform) are blanket-derived from it.

Structs§

Diag
The diagonal group (R*)³: axis-aligned non-uniform scaling.
NotSimilarity
Error returned when an affine transform is not a similarity transform (its linear part has non-uniform scale, shear, or reflection).
Rigid
The rigid (Euclidean) group SE(3): rotation + translation.
Similarity
The similarity group Sim(3): uniform scale + rotation + translation.
Translation
The translation group T(3): pure displacements.

Traits§

TransformGroup
A transformation representation closed under identity and composition.