#include <maya/MIOStream.h>
#include <maya/MPxCommand.h>
#include <maya/MFnPlugin.h>
#include <maya/MArgList.h>
#include <maya/MUintArray.h>
#include <maya/MSelectionList.h>
#include <maya/MGlobal.h>
#include <maya/MPlug.h>
#include <maya/MPolyMessage.h>
#include <maya/MDagPath.h>
#include <maya/MCallbackIdArray.h>
void userCB(
MUintArray componentIds[],
unsigned int count,
void *clientData )
{
cout << "poly component id modified";
cout << endl;
return;
unsigned int i, id;
for ( i = 0; i < vertexIds.
length(); i++ )
{
id = vertexIds[i];
if ( id == kDeletedId )
cout << "vertex " << i << " deleted" << endl;
else if ( i != id )
cout << "vertex " << i << " " << id << endl;
}
for ( i = 0; i < edgeIds.
length(); i++ )
{
id = edgeIds[i];
if ( id == kDeletedId )
cout << "edge " << i << " deleted" << endl;
else if ( i != id )
cout << "edge " << i << " " << id << endl;
}
for ( i = 0; i < faceIds.
length(); i++ )
{
id = faceIds[i];
if ( id == kDeletedId )
cout << "face " << i << " deleted" << endl;
else if ( i != id )
cout << "face " << i << " " << id << endl;
}
}
{
public:
polyMessageCmd() {};
~polyMessageCmd() override;
static void* creator();
};
polyMessageCmd::~polyMessageCmd() {}
void* polyMessageCmd::creator()
{
return new polyMessageCmd();
}
{
MCallbackId id;
for (
unsigned int i=0; i<list.
length(); i++ )
{
bool wantIdChanges[3];
wantIdChanges, 3,
userCB,
NULL,
&stat);
if ( stat ) {
} else {
cout << "MPolyMessage.addCallback failed\n";
}
}
return stat;
}
{
MFnPlugin plugin(obj, PLUGIN_COMPANY,
"6.0",
"Any");
return plugin.registerCommand( "polyMessage", polyMessageCmd::creator );
}
{
for (
unsigned int i=0; i<callbackIds.
length(); i++ ) {
}
return plugin.deregisterCommand( "polyMessage" );
}