Transformations and Bounds ========================== .. list-table:: :header-rows: 1 :widths: 20 80 :class: attributes - * Type * Attribute - * :kat:attr:`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. - * :kat:attr:`group xform.` * 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 :kat:node:`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 :kat:ui:`Viewer`, ``constraintN`` for any number of constraints, or ``groupN`` for the default group of regular transforms created by :kat:node:`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..rotateX``. - * :kat:attr:`double[3] xform..translate` * Translation on the xyz axes. - * :kat:attr:`double[4] xform..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). - * :kat:attr:`double[4] xform..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). - * :kat:attr:`double[4] xform..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). - * :kat:attr:`double[3] xform..scale` * Scale on the xyz axes. - * :kat:attr:`double[16] xform..matrix` * A 4x4 homogenous matrix transformation. - * :kat:attr:`double xform..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.