AL_USDMaya  0.16.6
USD to Maya Bridge
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
AL::usdmaya::nodes::Transform Class Reference

The AL::usdmaya::nodes::Transform node is a custom transform node that allows you to manipulate a USD. More...

#include <Transform.h>

Inheritance diagram for AL::usdmaya::nodes::Transform:
AL::maya::NodeHelper

Public Member Functions

 AL_MAYA_DECLARE_NODE ()
 
 AL_DECL_ATTRIBUTE (primPath)
 
 AL_DECL_ATTRIBUTE (inStageData)
 
 AL_DECL_ATTRIBUTE (time)
 
 AL_DECL_ATTRIBUTE (timeOffset)
 
 AL_DECL_ATTRIBUTE (timeScalar)
 
 AL_DECL_ATTRIBUTE (localTranslateOffset)
 
 AL_DECL_ATTRIBUTE (pushToPrim)
 
 AL_DECL_ATTRIBUTE (readAnimatedValues)
 
 AL_DECL_ATTRIBUTE (outStageData)
 
 AL_DECL_ATTRIBUTE (outTime)
 
- Public Member Functions inherited from AL::maya::NodeHelper
 NodeHelper ()
 ctor
 
 ~NodeHelper ()
 dtor
 

Methods

TransformationMatrixtransform () const
 returns the transformation matrix for this transform node More...
 
UsdPrim getUsdPrim (MDataBlock &dataBlock) const
 query the usd prim that this transform represents, from the specified data block More...
 
MPxNode::SchedulingType schedulingType () const override
 Enable parallel evaluation. More...
 

Additional Inherited Members

- Public Types inherited from AL::maya::NodeHelper
enum  AttributeFlags {
  kCached = 1 << 0, kReadable = 1 << 1, kWritable = 1 << 2, kStorable = 1 << 3,
  kAffectsAppearance = 1 << 4, kKeyable = 1 << 5, kConnectable = 1 << 6, kArray = 1 << 7,
  kColour = 1 << 8, kHidden = 1 << 9, kInternal = 1 << 10, kAffectsWorldSpace = 1 << 11,
  kUsesArrayDataBuilder = 1 << 12, kDontAddToNode = 1 << 30, kDynamic = 1 << 31
}
 A set of bit flags you can apply to an attribute. More...
 
enum  FileMode {
  kSave = 0, kLoad = 1, kDirectoryWithFiles = 2, kDirectory = 3,
  kMultiLoad = 4
}
 Specify the type of file/dir path when adding file path attributes. See addFilePathAttr. More...
 
- Static Public Member Functions inherited from AL::maya::NodeHelper
static bool inputBoolValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input boolean value from the dataBlock from the specified attribute More...
 
static int8_t inputInt8Value (MDataBlock &dataBlock, const MObject &attribute)
 get an input 8 bit integer value from the dataBlock from the specified attribute More...
 
static int16_t inputInt16Value (MDataBlock &dataBlock, const MObject &attribute)
 get an input 16 bit integer value from the dataBlock from the specified attribute More...
 
static int32_t inputInt32Value (MDataBlock &dataBlock, const MObject &attribute)
 get an input 32 bit integer value from the dataBlock from the specified attribute More...
 
static int64_t inputInt64Value (MDataBlock &dataBlock, const MObject &attribute)
 get an input 64 bit integer value from the dataBlock from the specified attribute More...
 
static float inputFloatValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input float value from the dataBlock from the specified attribute More...
 
static double inputDoubleValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input double value from the dataBlock from the specified attribute More...
 
static MMatrix inputMatrixValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input matrix value from the dataBlock from the specified attribute More...
 
static MPoint inputPointValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input point value from the dataBlock from the specified attribute More...
 
static MFloatPoint inputFloatPointValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input point value from the dataBlock from the specified attribute More...
 
static MVector inputVectorValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input vector value from the dataBlock from the specified attribute More...
 
static MTime inputTimeValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input time value from the dataBlock from the specified attribute More...
 
static MFloatVector inputFloatVectorValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input vector value from the dataBlock from the specified attribute More...
 
static MColor inputColourValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input colour value from the dataBlock from the specified attribute More...
 
static MString inputStringValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input string value from the dataBlock from the specified attribute More...
 
static MPxData * inputDataValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input data value from the dataBlock from the specified attribute More...
 
template<typename MPxDataType >
static MPxDataType * inputDataValue (MDataBlock &dataBlock, const MObject &attribute)
 get an input data value from the dataBlock from the specified attribute More...
 
static MStatus outputBoolValue (MDataBlock &dataBlock, const MObject &attribute, bool value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputInt8Value (MDataBlock &dataBlock, const MObject &attribute, int8_t value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputInt16Value (MDataBlock &dataBlock, const MObject &attribute, int16_t value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputInt32Value (MDataBlock &dataBlock, const MObject &attribute, int32_t value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputInt64Value (MDataBlock &dataBlock, const MObject &attribute, int64_t value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputFloatValue (MDataBlock &dataBlock, const MObject &attribute, float value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputDoubleValue (MDataBlock &dataBlock, const MObject &attribute, double value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputMatrixValue (MDataBlock &dataBlock, const MObject &attribute, const MMatrix &value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputPointValue (MDataBlock &dataBlock, const MObject &attribute, const MPoint &value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputFloatPointValue (MDataBlock &dataBlock, const MObject &attribute, const MFloatPoint &value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputVectorValue (MDataBlock &dataBlock, const MObject &attribute, const MVector &value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputEulerValue (MDataBlock &dataBlock, const MObject &attribute, const MEulerRotation &value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputFloatVectorValue (MDataBlock &dataBlock, const MObject &attribute, const MFloatVector &value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputColourValue (MDataBlock &dataBlock, const MObject &attribute, const MColor &value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputStringValue (MDataBlock &dataBlock, const MObject &attribute, const MString &value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputTimeValue (MDataBlock &dataBlock, const MObject &attribute, const MTime &value)
 Set the output value of the specified attribute in the datablock. More...
 
static MStatus outputDataValue (MDataBlock &dataBlock, const MObject &attribute, MPxData *value)
 Set the output value of the specified attribute in the datablock. More...
 
static MPxData * createData (const MTypeId &dataTypeId, MObject &data)
 helper method to create new data objects of the specified data type More...
 
template<typename MPxDataType >
static MPxDataType * createData (const MTypeId &dataTypeId, MObject &data)
 helper method to create new data objects of the specified data type More...
 
static void setNodeType (const MString &typeName)
 Sets the node type name you are adding attributes. Please call this before adding any frames! More...
 
static void addFrame (const char *frameTitle)
 Add a new frame control into the AE template. More...
 
static MObject addCompoundAttr (const char *longName, const char *shortName, uint32_t flags, std::initializer_list< MObject > list)
 add a new compound attribute to this node type More...
 
static MObject addEnumAttr (const char *longName, const char *shortName, uint32_t flags, const char *const *strings, const int16_t *values)
 add a new enum attribute to this node type More...
 
static MObject addStringAttr (const char *longName, const char *shortName, uint32_t flags, bool forceShow=false)
 add a new string attribute to this node type. More...
 
static MObject addFilePathAttr (const char *longName, const char *shortName, uint32_t flags, FileMode fileMode, const char *fileFilter="")
 add a new file path attribute to this node type. More...
 
static MObject addInt8Attr (const char *longName, const char *shortName, int8_t defaultValue, uint32_t flags)
 add a new integer attribute to this node type. More...
 
static MObject addInt16Attr (const char *longName, const char *shortName, int16_t defaultValue, uint32_t flags)
 add a new integer attribute to this node type. More...
 
static MObject addInt32Attr (const char *longName, const char *shortName, int32_t defaultValue, uint32_t flags)
 add a new integer attribute to this node type. More...
 
static MObject addInt64Attr (const char *longName, const char *shortName, int64_t defaultValue, uint32_t flags)
 add a new integer attribute to this node type. More...
 
static MObject addFloatAttr (const char *longName, const char *shortName, float defaultValue, uint32_t flags)
 add a new floating point attribute to this node type. More...
 
static MObject addDoubleAttr (const char *longName, const char *shortName, double defaultValue, uint32_t flags)
 add a new double attribute to this node type. More...
 
static MObject addTimeAttr (const char *longName, const char *shortName, const MTime &defaultValue, uint32_t flags)
 add a new time attribute to this node type. More...
 
static MObject addDistanceAttr (const char *longName, const char *shortName, const MDistance &defaultValue, uint32_t flags)
 add a new time attribute to this node type. More...
 
static MObject addAngleAttr (const char *longName, const char *shortName, const MAngle &defaultValue, uint32_t flags)
 add a new time attribute to this node type. More...
 
static MObject addBoolAttr (const char *longName, const char *shortName, bool defaultValue, uint32_t flags)
 add a new boolean attribute to this node type. More...
 
static MObject addFloat3Attr (const char *longName, const char *shortName, float defaultX, float defaultY, float defaultZ, uint32_t flags)
 add a new float3 attribute to this node type. More...
 
static MObject addAngle3Attr (const char *longName, const char *shortName, float defaultX, float defaultY, float defaultZ, uint32_t flags)
 add a new float3 attribute to this node type. More...
 
static MObject addDistance3Attr (const char *longName, const char *shortName, float defaultX, float defaultY, float defaultZ, uint32_t flags)
 add a new float3 attribute to this node type. More...
 
static MObject addPointAttr (const char *longName, const char *shortName, const MPoint &defaultValue, uint32_t flags)
 add a new point attribute to this node type. More...
 
static MObject addFloatPointAttr (const char *longName, const char *shortName, const MFloatPoint &defaultValue, uint32_t flags)
 add a new float point attribute to this node type. More...
 
static MObject addVectorAttr (const char *longName, const char *shortName, const MVector &defaultValue, uint32_t flags)
 add a new vector attribute to this node type. More...
 
static MObject addFloatVectorAttr (const char *longName, const char *shortName, const MFloatVector &defaultValue, uint32_t flags)
 add a new float vector attribute to this node type. More...
 
static MObject addColourAttr (const char *longName, const char *shortName, const MColor &defaultValue, uint32_t flags)
 add a new colour attribute to this node type. More...
 
static MObject addMatrix2x2Attr (const char *longName, const char *shortName, const float defaultValue[2][2], uint32_t flags)
 add a new matrix attribute to this node type. More...
 
static MObject addMatrix3x3Attr (const char *longName, const char *shortName, const float defaultValue[3][3], uint32_t flags)
 add a new matrix attribute to this node type. More...
 
static MObject addMatrixAttr (const char *longName, const char *shortName, const MMatrix &defaultValue, uint32_t flags)
 add a new matrix attribute to this node type. More...
 
static MObject addDataAttr (const char *longName, const char *shortName, MFnData::Type type, uint32_t flags, MFnAttribute::DisconnectBehavior behaviour=MFnAttribute::kNothing)
 add a new data attribute to this node type. More...
 
static MObject addDataAttr (const char *longName, const char *shortName, const MTypeId &type, uint32_t flags, MFnAttribute::DisconnectBehavior behaviour=MFnAttribute::kNothing)
 add a new data attribute to this node type. More...
 
static MObject addMessageAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new message attribute to this node type. More...
 
static MObject addVec2hAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 2D vector attribute to this node type. More...
 
static MObject addVec2fAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 2D vector attribute to this node type. More...
 
static MObject addVec2iAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 2D vector attribute to this node type. More...
 
static MObject addVec2dAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 2D vector attribute to this node type. More...
 
static MObject addVec3hAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 3D vector attribute to this node type. More...
 
static MObject addVec3fAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 3D vector attribute to this node type. More...
 
static MObject addVec3iAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 3D vector attribute to this node type. More...
 
static MObject addVec3dAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 3D vector attribute to this node type. More...
 
static MObject addVec4hAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 4D vector attribute to this node type. More...
 
static MObject addVec4fAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 4D vector attribute to this node type. More...
 
static MObject addVec4iAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 4D vector attribute to this node type. More...
 
static MObject addVec4dAttr (const char *longName, const char *shortName, uint32_t flags)
 add a new 4D vector attribute to this node type. More...
 
template<typename datatype >
static void setMinMax (MObject obj, datatype minimum, datatype maximum)
 set the min/max values on a numeric attribute More...
 
template<typename datatype >
static void setMinMax (MObject obj, datatype minimum, datatype maximum, datatype softmin, datatype softmax)
 set the min/max/softmax values on a numeric attribute More...
 
static void addBaseTemplate (const std::string &baseTemplate)
 used to add additional references to AETemplate calls for standard types, e.g. "AEsurfaceShapeTemplate" these will be inserted into the correct location More...
 
static void generateAETemplate ()
 This method will construct up the MEL script code for the attribute editor template for your node. Once constructed, the code will be executed silently in the background. If you wish to see the code being executed, enable 'echo all commands' in the MEL script editor prior to loading your plug-in.
 
static MStatus addStringAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, bool forceShow=false, MObject *attribute=0)
 add a new string attribute to this node type. More...
 
static MStatus addFilePathAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, FileMode fileMode, const char *fileFilter="", MObject *attribute=0)
 add a new file path attribute to this node type. More...
 
static MStatus addInt8Attr (const MObject &node, const char *longName, const char *shortName, int8_t defaultValue, uint32_t flags, MObject *attribute=0)
 add a new integer attribute to this node type. More...
 
static MStatus addInt16Attr (const MObject &node, const char *longName, const char *shortName, int16_t defaultValue, uint32_t flags, MObject *attribute=0)
 add a new integer attribute to this node type. More...
 
static MStatus addInt32Attr (const MObject &node, const char *longName, const char *shortName, int32_t defaultValue, uint32_t flags, MObject *attribute=0)
 add a new integer attribute to this node type. More...
 
static MStatus addInt64Attr (const MObject &node, const char *longName, const char *shortName, int64_t defaultValue, uint32_t flags, MObject *attribute=0)
 add a new integer attribute to this node type. More...
 
static MStatus addFloatAttr (const MObject &node, const char *longName, const char *shortName, float defaultValue, uint32_t flags, MObject *attribute=0)
 add a new floating point attribute to this node type. More...
 
static MStatus addDoubleAttr (const MObject &node, const char *longName, const char *shortName, double defaultValue, uint32_t flags, MObject *attribute=0)
 add a new double attribute to this node type. More...
 
static MStatus addTimeAttr (const MObject &node, const char *longName, const char *shortName, const MTime &defaultValue, uint32_t flags, MObject *attribute=0)
 add a new time attribute to this node type. More...
 
static MStatus addDistanceAttr (const MObject &node, const char *longName, const char *shortName, const MDistance &defaultValue, uint32_t flags, MObject *attribute=0)
 add a new time attribute to this node type. More...
 
static MStatus addAngleAttr (const MObject &node, const char *longName, const char *shortName, const MAngle &defaultValue, uint32_t flags, MObject *attribute=0)
 add a new time attribute to this node type. More...
 
static MStatus addBoolAttr (const MObject &node, const char *longName, const char *shortName, bool defaultValue, uint32_t flags, MObject *attribute=0)
 add a new boolean attribute to this node type. More...
 
static MStatus addFloat3Attr (const MObject &node, const char *longName, const char *shortName, float defaultX, float defaultY, float defaultZ, uint32_t flags, MObject *attribute=0)
 add a new float3 attribute to this node type. More...
 
static MStatus addAngle3Attr (const MObject &node, const char *longName, const char *shortName, float defaultX, float defaultY, float defaultZ, uint32_t flags, MObject *attribute=0)
 add a new float3 attribute to this node type. More...
 
static MStatus addPointAttr (const MObject &node, const char *longName, const char *shortName, const MPoint &defaultValue, uint32_t flags, MObject *attribute=0)
 add a new point attribute to this node type. More...
 
static MStatus addFloatPointAttr (const MObject &node, const char *longName, const char *shortName, const MFloatPoint &defaultValue, uint32_t flags, MObject *attribute=0)
 add a new float point attribute to this node type. More...
 
static MStatus addVectorAttr (const MObject &node, const char *longName, const char *shortName, const MVector &defaultValue, uint32_t flags, MObject *attribute=0)
 add a new vector attribute to this node type. More...
 
static MStatus addFloatVectorAttr (const MObject &node, const char *longName, const char *shortName, const MFloatVector &defaultValue, uint32_t flags, MObject *attribute=0)
 add a new float vector attribute to this node type. More...
 
static MStatus addColourAttr (const MObject &node, const char *longName, const char *shortName, const MColor &defaultValue, uint32_t flags, MObject *attribute=0)
 add a new colour attribute to this node type. More...
 
static MStatus addMatrixAttr (const MObject &node, const char *longName, const char *shortName, const MMatrix &defaultValue, uint32_t flags, MObject *attribute=0)
 add a new matrix attribute to this node type. More...
 
static MStatus addMatrix2x2Attr (const MObject &node, const char *longName, const char *shortName, const float defaultValue[2][2], uint32_t flags, MObject *attribute=0)
 add a new matrix attribute to this node type. More...
 
static MStatus addMatrix3x3Attr (const MObject &node, const char *longName, const char *shortName, const float defaultValue[3][3], uint32_t flags, MObject *attribute=0)
 add a new matrix attribute to this node type. More...
 
static MStatus addDataAttr (const MObject &node, const char *longName, const char *shortName, MFnData::Type type, uint32_t flags, MFnAttribute::DisconnectBehavior behaviour=MFnAttribute::kNothing, MObject *attribute=0)
 add a new data attribute to this node type. More...
 
static MStatus addDataAttr (const MObject &node, const char *longName, const char *shortName, const MTypeId &type, uint32_t flags, MFnAttribute::DisconnectBehavior behaviour=MFnAttribute::kNothing, MObject *attribute=0)
 add a new data attribute to this node type. More...
 
static MStatus addMessageAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new message attribute to this node type. More...
 
static MStatus addVec2hAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 2D floating point vector attribute to this node type. More...
 
static MStatus addVec2fAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 2D floating point vector attribute to this node type. More...
 
static MStatus addVec2iAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 2D integer vector attribute to this node type. More...
 
static MStatus addVec2dAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 2D double precision vector attribute to this node type. More...
 
static MStatus addVec3hAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 3D floating point vector attribute to this node type. More...
 
static MStatus addVec3fAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 3D floating point vector attribute to this node type. More...
 
static MStatus addVec3iAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 3D integer vector attribute to this node type. More...
 
static MStatus addVec3dAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 3D double precision vector attribute to this node type. More...
 
static MStatus addVec4hAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 4D floating point vector attribute to this node type. More...
 
static MStatus addVec4fAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 4D floating point vector attribute to this node type. More...
 
static MStatus addVec4iAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 4D integer vector attribute to this node type. More...
 
static MStatus addVec4dAttr (const MObject &node, const char *longName, const char *shortName, uint32_t flags, MObject *attribute=0)
 add a new 4D double precision vector attribute to this node type. More...
 

Detailed Description

The AL::usdmaya::nodes::Transform node is a custom transform node that allows you to manipulate a USD.

custom MPxTransformationMatrix type (AL::usdmaya::nodes::TransformationMatrix). The custom transformation matrix listens for changes that affect the transform (e.g. rotateBy, translateBy, etc), and if pushToPrim is enabled, applies those changes to the USD transformation.

Typically this node should have two input connections:

    The following attributes can be used to scale and offset the time values:
     \li \b timeOffset - an offset (in current UI time units) of say 30, means animation wont start until frame 30.
     \li \b timeScalar - a speed multiplier. 2.0 will double the playback speed, 0.5 will halve it.


    The following attribute determines which UsdPrim is being watched:
     \li \b primPath - a Usd path of the prim being watched, e.g.  "/root/foo/pCube1"


    We then have these two random attributes:
     \li \b localTranslateOffset - an offset applied *after* all other transforms. Useful for positioning items on a table.
     \li \b pushToPrim - When enabled, any changes you make to the transform values in maya, will be pushed back onto the USD primitive.


    Finally we have the following outputs:
     \li \b outTime = (time - timeOffset) * timeScalar
     \li \b outStageData - pass through from inStageData
Todo:
General todo list, and other quirks....
  1. pushToPrim when enabled, does not add transform operations into the UsdPrim it is tracking. So for example, if you have a prim with no transform ops, not much is going to happen. If however your prim has the full spectrum of rotate axis, translate, scale, rotate, shear, etc; then you will be able to have full control over the prim. This will need to be addressed at some point soon. One of the more challenging aspects here is that we will need to modify a) the geom op order [e.g. insert a scale op, where there was not one before]; and b) rotation is going to be a PITA [There may be a rotateX op, but after modification that may need to be deleted, and replaced with a rotateXYZ op]
  2. If pushToPrim is disabled, any modifications to the transform values are stored as offsets from the USD prim values. This works quite well for local space operations such as scale and rotation, semi-works for translation [effectively this is a parent space translation offset - useful for moving an anim clip] However for values such as rotation and scale pivots, yeah, the result might be a little strange.
  3. I'm not convinced the way that I've organised compute and validateAndSetValue is ideal. It works, but if anyone has some improvements to suggest, I'm all ears.
  4. Generally speaking, when localTranslateOffset is (0,0,0), then the translate/rotate/scale tools work quite well. If however localTranslateOffset is not (0,0,0), then the behaviour of the rotate tool is a little odd. Really this should be taken into account within the AL::usdmaya::nodes::TransformationMatrix::rotateBy and AL::usdmaya::nodes::TransformationMatrix::rotateTo methods.

Member Function Documentation

UsdPrim AL::usdmaya::nodes::Transform::getUsdPrim ( MDataBlock &  dataBlock) const

query the usd prim that this transform represents, from the specified data block

Parameters
dataBlockdata block to pull the prim information from
Returns
the USD prim this transform represents
MPxNode::SchedulingType AL::usdmaya::nodes::Transform::schedulingType ( ) const
inlineoverride

Enable parallel evaluation.

Returns
MPxNode::kParallel
TransformationMatrix* AL::usdmaya::nodes::Transform::transform ( ) const
inline

returns the transformation matrix for this transform node

Returns
the transformation matrix

The documentation for this class was generated from the following file: