#include <maya/MString.h>
#include <maya/MStatus.h>
#include <maya/MObject.h>
#include <maya/MFileIO.h>
#include <maya/MSelectionList.h>
#include <maya/MGlobal.h>
#include <maya/MPxCommand.h>
#include <maya/MFnPlugin.h>
#include <maya/MIOStream.h>
public:
referenceQuery();
~referenceQuery() override;
static void *creator();
};
referenceQuery::referenceQuery()
{
}
referenceQuery::~referenceQuery()
{
}
void *referenceQuery::creator()
{
return new referenceQuery;
}
bool referenceQuery::isUndoable() const {
return false;
};
{
for(
unsigned i = 0; i < referenceFiles.
length(); i++ ) {
connectionsMade );
cout << "Referenced File: " << referenceFiles[i].asChar() << ":\n";
cout << " Connections Made:\n";
unsigned j;
for( j = 0; j < connectionsMade.
length(); j+=2 ) {
cout << " ";
cout << connectionsMade[j].asChar() << " -> ";
if( j + 1 < connectionsMade.
length() ) {
cout << connectionsMade[j+1].asChar();
}
cout << "\n" ;
}
cout << "\n";
connectionsBroken );
cout << " Connections Broken: \n";
for( j = 0; j < connectionsBroken.
length(); j+=2 ) {
cout << " ";
cout << connectionsBroken[j].asChar() << " -> ";
if( j + 1 < connectionsBroken.
length() ) {
cout << connectionsBroken[j+1].asChar();
}
cout << "\n" ;
}
cout << "\n";
cout << " Attrs Changed Since File Open:\n";
for( j = 0; j < referencedNodes.
length(); j++ ) {
MString cmd(
"listAttr -s -cfo " );
cmd = cmd + referencedNodes[j];
for(
unsigned k = 0; k < referencedAttributes.
length(); k++ ) {
MString plugName( referencedNodes[j] );
plugName = plugName + "." + referencedAttributes[k];
cout << " " << plugName.asChar() << "\n";
}
}
cout << "\n";
}
cout << "=====================================\n";
return MS::kSuccess;
}
{
MFnPlugin plugin( obj, PLUGIN_COMPANY,
"4.0",
"Any");
status = plugin.registerCommand( "refQuery",
referenceQuery::creator );
if (!status) {
status.
perror(
"registerCommand");
return status;
}
return status;
}
{
status = plugin.deregisterCommand( "refQuery" );
if (!status) {
status.
perror(
"deregisterCommand");
}
return status;
}