16 #include <maya/MString.h>    17 #include <maya/MFnPlugin.h>    18 #include <maya/MFileIO.h>    19 #include <maya/MArgParser.h>    20 #include <maya/MArgList.h>    21 #include <maya/MSyntax.h>    40 doIt(
const MArgList &args) {
    45   syntax.addFlag(
"a", 
"animate");
    47   MArgParser parser(syntax, args, &result);
    49     result.perror(
"arguments");
    53   bool animate = parser.isFlagSet(
"a", &result);
    55     result.perror(
"isFlagSet");
    60   result = MFileIO::save(
false);
    61   if (result != MS::kSuccess) {
    65   MString filename = MFileIO::currentFile();
    67   MString pview_args = 
"-cl";
    74   MString quoted = MString(
"\"") + filename + MString(
"\"");
    75   intptr_t retval = _spawnlp(_P_DETACH, 
"pview",
    76                              "pview", pview_args.asChar(), quoted.asChar(), 
nullptr);
    84   MString command = MString(
"pview " + pview_args + MString(
" \"") + filename + MString(
"\""));
    86   int command_result = system(command.asChar());
    87   if (command_result != 0) {
   110   MFnPlugin plugin(obj, 
"VR Studio", 
"1.0");
   114     status.perror(
"registerCommand");
   125   MFnPlugin plugin(obj);
   127   status = plugin.deregisterCommand(
"pview");
   130     status.perror(
"deregisterCommand");
 static void * creator()
This is used to create a new instance of the plugin.
 
MStatus initializePlugin(MObject obj)
Called by Maya when the plugin is loaded.
 
virtual MStatus doIt(const MArgList &args)
Called when the plugin command is invoked.
 
MStatus uninitializePlugin(MObject obj)
Called by Maya when the plugin is unloaded.
 
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
 
This class serves as a plug-in to Maya to save the scene and view it using the external pview program...