#include "rockingTransform.h"
#define kRockingTransformCheckNodeID 0x8101D
#define kRockingTransformCheckMatrixID 0x8101E
#define ReturnOnError(status) \
if (MS::kSuccess != status) { \
return status; \
}
class rockingTransformCheckMatrix : public rockingTransformMatrix
{
public:
rockingTransformCheckMatrix();
static void *creator();
static MTypeId idCheck;
private:
typedef rockingTransformCheckMatrix ParentClass;
};
class rockingTransformCheckNode : public rockingTransformNode
{
public:
rockingTransformCheckNode();
rockingTransformCheckNode(MPxTransformationMatrix *);
virtual ~rockingTransformCheckNode();
virtual MPxTransformationMatrix *createTransformationMatrix();
rockingTransformCheckMatrix *getRockingTransformCheckMatrix();
const char* className();
static void * creator();
static MTypeId idCheck;
protected:
virtual MEulerRotation applyRotationLocks(const MEulerRotation &toTest,
const MEulerRotation &savedR,
MStatus *ReturnStatus = NULL);
virtual MEulerRotation applyRotationLimits(const MEulerRotation &unclampedR,
MDataBlock &block,
MStatus *ReturnStatus = NULL);
virtual MStatus checkAndSetRotation(MDataBlock &block,
const MPlug&,
const MEulerRotation&,
MSpace::Space = MSpace::kTransform);
private:
typedef rockingTransformNode ParentClass;
};