Transformations (OpScript) ========================== .. lua:module:: XFormUtils Transformations --------------- Generating Matrices ``````````````````` .. lua:function:: CalcTransformMatrixAtTime(GroupAttribute xform, number time) -> GroupAttribute .. lua:function:: CalcTransformMatrixAtTimes(GroupAttribute xform, table times) -> GroupAttribute .. lua:function:: CalcTransformMatrixAtExistingTimes(GroupAttribute xform) -> xform Authoring Transformations ------------------------- .. lua:function:: InitXForm(GroupBuilder gb, [GroupAttribute|DoubleAttribute xform]) -> .. lua:function:: PushRotateAttr(GroupBuilder gb, number angle, number x, number y, number z) .. lua:function:: PushRotateAttr(Attribute attr, number angle, number x, number y, number z) -> Attribute .. lua:function:: PushTranslateAttr(GroupBuilder gb, number x, number y, number z) .. lua:function:: PushTranslateAttr(Attribute attr, number x, number y, number z) -> Attribute .. lua:function:: PushScaleAttr(GroupBuilder gb, number x, number y, number z) .. lua:function:: PushScaleAttr(Attribute attr, number x, number y, number z) -> Attribute .. lua:function:: PushMatrixAttr(GroupBuilder gb, number[16] matrix) .. lua:function:: PushMatrixAttr(Attribute attr, number[16] matrix) -> Attribute .. lua:function:: PushOriginAttr(GroupBuilder gb) .. lua:function:: PushOriginAttr(Attribute attr) -> Attribute Handling Bounds --------------- .. lua:function:: CreateBoundsAttr(number xMin, number xMax, number yMin, number yMax, number zMin, number zMax) -> DoubleAttribute .. lua:function:: MergeBounds(DoubleAttribute boundsA, DoubleAttribute boundsB) -> DoubleAttribute .. lua:function:: CalcTransformedBoundsAtExistingTimes(GroupAttribute|DoubleAttribute xform, DoubleAttribute bounds) -> DoubleAttribute .. lua:function:: CollapseBoundsTimeSamples(DoubleAttribute bounds) -> DoubleAttribute