Next: , Previous: String class, Up: Class reference



8.3.8 Affinity class

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.