exampleMRampAttribute.cpp
#include <maya/MIOStream.h>
#include <maya/MPxNode.h>
#include <maya/MFnPlugin.h>
#include <maya/MString.h>
#include <maya/MTypeId.h>
#include <maya/MPlug.h>
#include <maya/MRampAttribute.h>
class exampleRampAttrNode : public MPxNode
{
public:
exampleRampAttrNode() {};
virtual ~exampleRampAttrNode() {};
static void *creator();
static MStatus initialize();
virtual MStatus compute(const MPlug &plug, MDataBlock &dataBlock);
static MObject input1;
static MObject input2;
static MTypeId id;
};
MTypeId exampleRampAttrNode::id( 0x81027 );
MObject exampleRampAttrNode::input1;
MObject exampleRampAttrNode::input2;
void *exampleRampAttrNode::creator()
{
return((void *) new exampleRampAttrNode);
}
MStatus exampleRampAttrNode::initialize()
{
MStatus stat;
MString curveRamp("curveRamp");
MString cvr("cvr");
MString colorRamp("colorRamp");
MString clr("clr");
input1 = MRampAttribute::createCurveRamp(curveRamp, cvr);
input2 = MRampAttribute::createColorRamp(colorRamp, clr);
stat = addAttribute(input1);
if(!stat)
{
cout << "ERROR in adding curveRamp Attribute!\n";
}
stat = addAttribute(input2);
if(!stat)
{
cout << "ERROR in adding colorRamp Attribute!\n";
}
return stat;
}
MStatus exampleRampAttrNode::compute( const MPlug &plug, MDataBlock &dataBlock )
{
return(MStatus::kSuccess);
}
MStatus initializePlugin(MObject obj)
{
MStatus status;
MFnPlugin plugin(obj, PLUGIN_COMPANY, "7.0", "Any");
status = plugin.registerNode("exampleRampAttrNode", exampleRampAttrNode::id,
exampleRampAttrNode::creator, exampleRampAttrNode::initialize);
if (!status)
{
status.perror("registerNode");
return status;
}
return status;
}
MStatus uninitializePlugin(MObject obj)
{
MStatus status;
MFnPlugin plugin(obj);
status = plugin.deregisterNode(exampleRampAttrNode::id);
if (!status)
{
status.perror("deregisterNode");
return status;
}
return status;
}