Transformations and Bounds

Type

Attribute

Description

double[6]

bound

List of six doubles defining two points that define a bounding box. The order of the values is xmin, xmax, ymin, ymax, zmin, and zmax. Bounds are in local (object) space, not world space.

group

xform.<group>

The xform attribute contains a sub-group for every transform in the order these transforms are applied. A sub-group with the name interactive contains the transform used for manipulation in the Viewer.

An object can have only one interactive group. If another transform is added (using a Transform3D node for example), the previous interactive group automatically gets renamed.

The group can be any arbitrary name, but uses the conventions: occurrence of interactive to receive transformations for the Viewer, constraintN for any number of constraints, or groupN for the default group of regular transforms created by Transform3D nodes.

This supports an arbitrary list of transform commands, similar to RiScale and RiTranslate in PRMan.

The name prefix (translate, rotate, scale, matrix, origin) is how Katana determines how to use each xform child attribute it finds.

Note

Transform commands can be grouped together in sub-groups, or they can be declared without sub-groups, for example xform.rotateX instead of xform.<group>.rotateX.

double[3]

xform.<group>.translate

Translation on the xyz axes.

double[4]

xform.<group>.rotateX

The first number indicates the angle of rotation. The remaining three define the axis of rotation (1.0/0.0/0.0 for X axis).

double[4]

xform.<group>.rotateY

The first number indicates the angle of rotation. The remaining three define the axis of rotation (0.0/1.0/0.0 for Y axis).

double[4]

xform.<group>.rotateZ

The first number indicates the angle of rotation. The remaining three define the axis of rotation (0.0/0.0/1.0 for Z axis).

double[3]

xform.<group>.scale

Scale on the xyz axes.

double[16]

xform.<group>.matrix

A 4x4 homogenous matrix transformation.

double

xform.<group>.origin

Resets the transformation to identity, ignoring everything prior to it in the transformation stack. This is synonymous with the RiIdentity() attribute in the RenderMan specification.

Note

The presence of this attribute is all that is required to set the transform to identity. The value is ignored but the type must be double.