Transformations

Geometrical transformations

The following geometrical transformations are predefined in IPKISS. They can be used to transform (i.e., translate/rotate) geometrical elements and layout instances.

IdentityTransform

Transform that leaves an object unchanged.

Translation

Translation transform: move for a given translation (x, y).

Rotation

Rotation around point rotation_center over a given angle rotation (in degrees).

VMirror

Vertical mirror around an axis or plane with constant y.

HMirror

Horizontal mirror around an axis or plane with constant x.

CMirror

Mirror around point mirror_center (= 180 degree turn).

Stretch

Non-homothetic scaling.

Magnification

Scaling transformation with respect to a given point magnification_center, magnifying by magnification.

NoDistortTransform

A homothetic transformation that does not distort the item it is applied to (angle conservation)

Transformable objects

An object type which can be transformed (like a Shape or an Element) is a Transformable. There are a few different types of transformables in IPKISS, depending on whether the object accepts transformations that can distort (magnification) and on whether the transformation is applied directly or rather stored and applied when some attribute of the object is accessed.

Transformable

object that can be transformed

StoredTransformable

transformable that stores its transforms

StoredNoDistortTransformable

transformable that stores its homothetic transforms