A node representing an affine transformation. It changes the coordinate space of its child. It supports a set of functions for manipulation with the internal transformation.
It supports the object interface, the node interface, the container interface, the enclosure interface and the transformation interface.
struct vcl_affinity * vcl_affinity_new (void)
Just creates an affinity (with an identity matrix).
struct geom_transform2 * vcl_affinity_get (struct vcl_affinity *obj)
Gets the internal transformations.
void vcl_affinity_set (struct vcl_affinity *obj, const struct geom_transform2 *t)
Sets the internal transformations.
void vcl_affinity_inner_merge (struct vcl_affinity *obj, const struct geom_transform2 *t)
Merge the internal transformation with the t
transformation; so the result
is equivalent to adding a new affinity with the t
transformation as
an obj
's child,
If the internal primary transformation is from a space B to a space C and
the primary transformation of t
is from a space A to the space B, then
the new internal primary transformation is from the space A to the space C.
void vcl_affinity_outer_merge (struct vcl_affinity *obj, const struct geom_transform2 *t)
Merge the internal transformation with the t
transformation so that the result
is equivalent to adding a new affinity with the t
transformation as
the obj
's parent.
If ithe internal primary transformation is from a space A to a space B and
the t
primary transformation is from the space B to a space C, then
the new internal primary transformation is from the space A to the space C.
void vcl_affinity_merge (struct vcl_affinity *obj, const struct geom_transform2 *t)
An alias for vcl_affinity_outer_merge
.