#ifndef _polyModifierCmd
#define _polyModifierCmd
#include <maya/MIntArray.h>
#include <maya/MFloatVectorArray.h>
#include <maya/MDagPath.h>
#include <maya/MDGModifier.h>
#include <maya/MDagModifier.h>
#include <maya/MPlug.h>
#include <maya/MPxCommand.h>
{
public:
polyModifierCmd();
~polyModifierCmd() override;
protected:
void setModifierNodeType(
MTypeId type );
void setModifierNodeName(
MString name );
MTypeId getModifierNodeType()
const;
MString getModifierNodeName()
const;
private:
struct modifyPolyData
{
MPlug upstreamNodeSrcPlug;
};
bool isCommandDataValid();
void collectNodeState();
MStatus processMeshNode( modifyPolyData& data );
MStatus processUpstreamNode( modifyPolyData& data );
modifyPolyData& data );
MStatus processTweaks( modifyPolyData& data );
bool fDagPathInitialized;
bool fModifierNodeTypeInitialized;
bool fModifierNodeNameInitialized;
bool fHasHistory;
bool fHasTweaks;
bool fHasRecordHistory;
};
inline void polyModifierCmd::setMeshNode(
MDagPath mesh )
{
fDagPath = mesh;
fDagPathInitialized = true;
}
inline MDagPath polyModifierCmd::getMeshNode()
const
{
return fDagPath;
}
inline void polyModifierCmd::setModifierNodeType(
MTypeId type )
{
fModifierNodeType = type;
fModifierNodeTypeInitialized = true;
}
inline void polyModifierCmd::setModifierNodeName(
MString name )
{
fModifierNodeName = name;
fModifierNodeNameInitialized = true;
}
inline MTypeId polyModifierCmd::getModifierNodeType()
const
{
return fModifierNodeType;
}
inline MString polyModifierCmd::getModifierNodeName()
const
{
return fModifierNodeName;
}
#endif