Public Types | Public Member Functions | Static Public Member Functions

MFileIO Class Reference

Search for all occurrences

Detailed Description

I/O operations on scene files.

Methods for opening, saving, importing, exporting and referencing files.

The MFileIO class provides a set of global functions that can be used to load and store scene elements into maya files. Methods are also provided to import elements from other files into the current scene, and export elements of the current scene into files. As well, references to other files can be created and removed.

This class implements only the most common operations from the full set possible with the MEL command "file." See the documentation of this command for a complete listing of all the possiblities. If more control is required than provided by this class, a MEL command can be constructed according to the instructions for the "file" command, and issued via the executeCommand method of the MGlobal class.

#include <MFileIO.h>

List of all members.

Public Types

enum   ReferenceMode { kLoadDefault, kLoadAllReferences, kLoadNoReferences }
 

Specifies which references to load.

More...
enum   MayaFileFormatVersion
 

Specifies the unique identifier for official Maya file format versions.


Public Member Functions

  MFileIO ()
  Default class constructor.
  MFileIO (const MString &fileName)
  Class constructor that sets the current active scene.
virtual  ~MFileIO ()
  The class destructor.

Static Public Member Functions

static MString  currentFile ()
  Return the name of the currently active scene.
static MStatus  setCurrentFile (const MString &fileName)
  Set the name of the current active scene.
static MString  fileType ()
  Return the type of the current active scene.
static MStatus  getFileTypes (MStringArray &types)
  Returns an array of all the valid type names that Maya currently supports.
static MStatus  newFile (bool force=false)
  Set everything back to a new file state.
static MStatus  open (const MString &fileName, const char *type=NULL, bool force=false, ReferenceMode refMode=kLoadDefault, bool ignoreVersion=false)
  Open the given file, and set the current active scene to this file.
static MStatus  save (bool force=false)
  Save the contents of the current scene.
static MStatus  saveAs (const MString &fileName, const char *type=NULL, bool force=false)
  Save the contents of the current scene to the given file.
static MStatus  importFile (const MString &fileName, const char *type=NULL, bool preserveReferences=false, const char *nameSpace=NULL)
  Import the scene elements from the given file into the current scene.
static MStatus  exportSelected (const MString &fileName, const char *type=NULL, bool preserveReferences=false)
  Export all currently selected scene elements to the given file.
static MStatus  exportAll (const MString &fileName, const char *type=NULL, bool preserveReferences=false)
  Export the current scene to the given file.
static MStatus  exportAnimFromReference (const MString &fileName, const char *type=NULL)
  Export the animation from reference, to the specified file.
static MStatus  exportAnimFromReference (const MString &fileName, const MString &refNodeName, const char *type=NULL)
  Export the animation from the specified reference node, to the specified file.
static MStatus  exportSelectedAnimFromReference (const MString &fileName, const char *type=NULL)
  Export the selected animation from reference, to the specified file.
static MStatus  exportSelectedAnimFromReference (const MString &fileName, const MString &refNodeName, const char *type=NULL)
  Export the selected animation from reference, to the specified file.
static MStatus  exportAnim (const MString &fileName, const char *type=NULL)
  Export animation to the specified file.
static MStatus  exportSelectedAnim (const MString &fileName, const char *type=NULL)
  Export selected animation to the specified file.
static MStatus  exportAsReference (const MString &fileName, const char *type=NULL)
  Export the selected objects into a reference file.
static MStatus  getReferences (MStringArray &references, bool wantUnresolvedNames=false)
  Return an array of all the files referenced from the currently active scene.
static MStatus  getFiles (MStringArray &files, bool wantUnresolvedNames=false, bool wantReferencesOnly=false)
  Return an array of all the files used by the currently active scene.
static MStatus  getReferenceNodes (const MString &fileName, MStringArray &nodes)
  Return an array of all the nodes referenced by the given filename.
static MStatus  getReferenceNodes (const MString &fileName, MSelectionList &list)
  Return an array of all the nodes referenced by the given filename.
static MStatus  getReferenceConnectionsMade (const MString &fileName, MStringArray &connections)
  Return an array of attribute pairs representing connections made to nodes in the given referenced file.
static MStatus  getReferenceConnectionsBroken (const MString &fileName, MStringArray &connections)
  Return an array of attribute pairs representing connections broken to nodes in the given referenced file.
static MStatus  getReferenceConnectionsBroken (const MString &fileName, MPlugArray &srcPlugs, MPlugArray &destPlugs)
  Returns the source and destination plugs corresponding to all the connections broken between nodes in the given referenced file.
static MStatus  getReferenceConnectionsBroken (const MObject &node, MStringArray &connections, bool append=false, bool removeDuplicates=true)
  Returns an array of plug name pairs corresponding to the broken connections from referenced files, where those connections involved the specified node.
static MStatus  getReferenceConnectionsBroken (const MObject &node, MPlugArray &srcPlugs, MPlugArray &destPlugs, bool append=false, bool removeDuplicates=true)
  Returns arrays of source and destination plugs corresponding to the broken connections from referenced files, where those connections involved the specified node.
static MStatus  reference (const MString &fileName, bool deferReference=false, bool lockReference=false)
  Add the given filename as a reference from the current file.
static MStatus  removeReference (const MString &fileName)
  Remove the named file as a reference from the current file.
static bool  isReadingFile ()
  Determine if Maya is currently in the middle of a file read operation.
static bool  isWritingFile ()
  Determine if Maya is currently in the middle of a file write operation.
static bool  isOpeningFile ()
  Determine if Maya is currently performing a file open operation.
static bool  isNewingFile ()
  Determine if Maya is currently performing a "new" operation.
static bool  isSavingReference ()
  Determine if Maya is currently in the middle of a save reference operation.
static bool  mustRenameToSave (MStatus *ReturnStatus=NULL)
  Scenes may be flagged as needing to be renamed before saving.
static MStatus  setMustRenameToSave (bool)
  This method enabled or disables a state where the current Maya scene must save to a different file name.
static MString  mustRenameToSaveMsg (MStatus *ReturnStatus=NULL)
  This method returns a string that is displayed when a user attempts to save a scene that was set to not overwrite itself.
static MStatus  setMustRenameToSaveMsg (const MString &)
  This method sets a string that is displayed when a user attempts to save a scene that was set to not overwrite itself.
static MString  beforeOpenFilename (MStatus *ReturnStatus=NULL)
  Retrieves the name of the file requested to be opened.
static MString  beforeImportFilename (MStatus *ReturnStatus=NULL)
  Retrieves the name of the file requested to be imported.
static MString  beforeSaveFilename (MStatus *ReturnStatus=NULL)
  Retrieves the name of the file requested to be saved.
static MString  beforeExportFilename (MStatus *ReturnStatus=NULL)
  Retrieves the name of the file requested to be exported.
static MString  beforeReferenceFilename (MStatus *ReturnStatus=NULL)
  Retrieves the name of the file requested to be referenced.
static MPxFileTranslator beforeOpenUserFileTranslator (MStatus *ReturnStatus=NULL)
  Retrieves the plug-in-defined file translator being used for file open, if any.
static MPxFileTranslator beforeImportUserFileTranslator (MStatus *ReturnStatus=NULL)
  Retrieves the plug-in-defined file translator being used for import, if any.
static MPxFileTranslator beforeSaveUserFileTranslator (MStatus *ReturnStatus=NULL)
  Retrieves the plug-in-defined file translator being used for file save, if any.
static MPxFileTranslator beforeExportUserFileTranslator (MStatus *ReturnStatus=NULL)
  Retrieves the plug-in-defined file translator being used for export, if any.
static MPxFileTranslator beforeReferenceUserFileTranslator (MStatus *ReturnStatus=NULL)
  Retrieves the plug-in-defined file translator being used for file reference, if any.
static MString  getLastTempFile (MStatus *ReturnStatus=NULL)
  Returns the temp file used during file save.
static bool  getErrorStatus (MStatus *ReturnStatus=NULL)
  Returns the error status of the last file read.
static MStatus  resetError ()
  Resets the error.
static MString  loadReference (const MString &referenceFileName, MStatus *returnStatus=NULL)
  Loads the reference, referenced by the given reference node name and file name.
static MString  loadReferenceByNode (const MString &referenceNodeName, MStatus *returnStatus=NULL)
  Loads the reference, referenced by the given reference node name.
static MString  loadReferenceByNode (MObject &referenceNode, MStatus *returnStatus=NULL)
  Loads the reference, referenced by the given reference node object.
static MString  unloadReference (const MString &referenceFileName, MStatus *returnStatus=NULL)
  Unloads the reference, referenced by the given reference node and file.
static MString  unloadReferenceByNode (const MString &referenceNodeName, MStatus *returnStatus=NULL)
  Unloads the reference, referenced by the given reference node.
static MString  unloadReferenceByNode (MObject &referenceNode, MStatus *returnStatus=NULL)
  Unloads the reference, referenced by the given reference node.
static MString  getReferenceFileByNode (MObject &referenceNode, MStatus *returnStatus=NULL)
  Returns the name of the reference file, which contains the given reference node.
static MStatus  cleanReference (const MString &referenceNodeName, const char *editCommand=NULL, MStatus *returnStatus=NULL)
  This function removes the edits from the passed in reference node.
static MStatus  saveReference (const MString &referenceNodeName, MStatus *returnStatus=NULL)
  This function saves reference node edits and connections to reference file.
static MString  fileCurrentlyLoading ()
  Return the name of the file currently being loaded.
static bool  isImportingFile ()
  Determine if Maya is currently in the middle of a file import operation.
static bool  isReferencingFile ()
  Determine if Maya is currently in the middle of a file reference operation.
static int  currentlyReadingFileVersion ()
  Each Maya file format version has a unique integer identifier.
static int  latestMayaFileVersion ()
  Each Maya file format version has a unique integer identifier.
static const char *  className ()
  Returns the name of this class.
static MStatus  import (const MString &fileName, const char *type=NULL, bool preserveReferences=false, const char *nameSpace=NULL)
  This method is obsolete. This method is not available in Python.

Member Enumeration Documentation

Specifies which references to load.

Enumerator:
kLoadDefault 

Load references that were loaded when scene was saved.

kLoadAllReferences 

Load all references in the scene.

kLoadNoReferences 

Don't load any references.


Constructor & Destructor Documentation

MFileIO ( const MString fileName )

Class constructor that sets the current active scene.

Parameters:
[in] fileName name of the new active scene

Member Function Documentation

MString currentFile ( ) [static]

Return the name of the currently active scene.

Returns:
An MString containing the file name
Examples:
asciiToBinary.cpp, and readAndWrite.cpp.
MStatus setCurrentFile ( const MString fileName ) [static]

Set the name of the current active scene.

Parameters:
[in] fileName the name of the new active scene.
Returns:
MString fileType ( ) [static]

Return the type of the current active scene.

Returns:
Examples:
asciiToBinary.cpp, and readAndWrite.cpp.
MStatus getFileTypes ( MStringArray types ) [static]

Returns an array of all the valid type names that Maya currently supports.

Only elements from this list are valid arguments for the type arguments to open, saveAs, import, exportSelected, and exportAll.

It should be noted that the results of this function will change as file translators that are implemented as plugins are loaded or unloaded.

The file types mayaAscii and mayaBinary will always be available.

Parameters:
[out] types a reference to an MStringArray which on return contains the list of supported file types.
Returns:
MStatus newFile ( bool  force = false ) [static]

Set everything back to a new file state.

Parameters:
[in] force succeed even if there are unsaved changes
Returns:
Examples:
asciiToBinary.cpp, and readAndWrite.cpp.
MStatus open ( const MString fileName,
const char *  type = NULL,
bool  force = false,
ReferenceMode  refMode = kLoadDefault,
bool  ignoreVersion = false 
) [static]

Open the given file, and set the current active scene to this file.

If there are unsaved changes in the current scene, this operation will fail unless the force flag is set to true.

Parameters:
[in] fileName name of the file to open
[in] type if NULL, Maya will try to deduce the type of the file. if not NULL, it contains a file type to use when opening the file.
[in] force succeed even if there are unsaved changes
[in] refMode specify whether to load all references, no references, or the references that were loaded when the scene was saved.
[in] ignoreVersion if true, then Maya will ignore the version number when opening the file
Returns:
Examples:
asciiToBinary.cpp, readAndWrite.cpp, and surfaceTwist.cpp.
MStatus save ( bool  force = false ) [static]

Save the contents of the current scene.

If there have been no changes to the scene since the last save, then this operation will succeed, but not actually rewrite the save file unless the force flag is set to true.

Parameters:
[in] force succeed even if there have been no changes
Returns:
MStatus saveAs ( const MString fileName,
const char *  type = NULL,
bool  force = false 
) [static]

Save the contents of the current scene to the given file.

If there have been no changes to the scene since the last save, then this operation will succeed, but not actually rewrite the save file unless the force flag is set to true.

Parameters:
[in] fileName name of the file to write to
[in] type if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file.
[in] force succeed even if there have been no changes since the last save operation
Returns:
Examples:
asciiToBinary.cpp, and readAndWrite.cpp.
MStatus importFile ( const MString fileName,
const char *  type = NULL,
bool  preserveReferences = false,
const char *  nameSpace = NULL 
) [static]

Import the scene elements from the given file into the current scene.

This operation is similar to open, but instead of replacing the current scene with the one from the new file, it adds the elements from that file to the existing ones in the current scene.

Parameters:
[in] fileName name of the file from which to import objects
[in] type if NULL, Maya will try to deduce the type of the file. if not NULL, it must contain a file type to use when importing the file.
[in] preserveReferences Boolean to indicate whether the references need to be preserved.
[in] nameSpace optional name of the namespace to use when importing objects. Use NULL for default of no namespace.
Returns:
MStatus exportSelected ( const MString fileName,
const char *  type = NULL,
bool  preserveReferences = false 
) [static]

Export all currently selected scene elements to the given file.

Parameters:
[in] fileName name of the file to which to export the objects
[in] type if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file.
[in] preserveReferences Boolean to indicate whether the references need to be preserved.
Returns:
MStatus exportAll ( const MString fileName,
const char *  type = NULL,
bool  preserveReferences = false 
) [static]

Export the current scene to the given file.

Parameters:
[in] fileName name of the file to which to export the objects
[in] type if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file.
[in] preserveReferences Boolean to indicate whether the references need to be preserved.
Returns:
Examples:
surfaceCreate.cpp, and surfaceTwist.cpp.
MStatus exportAnimFromReference ( const MString fileName,
const char *  type = NULL 
) [static]

Export the animation from reference, to the specified file.

Parameters:
[in] fileName name of the file to which the animation will be exported.
[in] type if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file.
Returns:
MStatus exportAnimFromReference ( const MString fileName,
const MString refNodeName,
const char *  type = NULL 
) [static]

Export the animation from the specified reference node, to the specified file.

Parameters:
[in] fileName name of the file to which the animation will be exported.
[in] refNodeName name of the reference whose animation will be exported.
[in] type if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file.
Returns:
MStatus exportSelectedAnimFromReference ( const MString fileName,
const char *  type = NULL 
) [static]

Export the selected animation from reference, to the specified file.

Parameters:
[in] fileName name of the file to which the animation will be exported.
[in] type if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file.
Returns:
MStatus exportSelectedAnimFromReference ( const MString fileName,
const MString refNodeName,
const char *  type = NULL 
) [static]

Export the selected animation from reference, to the specified file.

Parameters:
[in] fileName name of the file to which the animation will be exported.
[in] refNodeName name of the reference whose animation will be exported.
[in] type if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file.
Returns:
MStatus exportAnim ( const MString fileName,
const char *  type = NULL 
) [static]

Export animation to the specified file.

Parameters:
[in] fileName name of the file to which the animation will be exported.
[in] type if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file.
Returns:
MStatus exportSelectedAnim ( const MString fileName,
const char *  type = NULL 
) [static]

Export selected animation to the specified file.

Parameters:
[in] fileName name of the file to which the animation will be exported.
[in] type if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file.
Returns:
MStatus exportAsReference ( const MString fileName,
const char *  type = NULL 
) [static]

Export the selected objects into a reference file.

Parameters:
[in] fileName name of the file to which the selected objects will be exported as reference.
[in] type if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file.
Returns:
MStatus getReferences ( MStringArray references,
bool  wantUnresolvedNames = false 
) [static]

Return an array of all the files referenced from the currently active scene.

Parameters:
[out] references a reference to an MStringArray which on return contains the list of referenced files.
[in] wantUnresolvedNames specify if unresolved file names should be returned. Default is false.
Returns:
Examples:
maTranslator.cpp, and referenceQueryCmd.cpp.
MStatus getFiles ( MStringArray files,
bool  wantUnresolvedNames = false,
bool  wantReferencesOnly = false 
) [static]

Return an array of all the files used by the currently active scene.

Includes file references, file textures, cache files, image planes etc.

Parameters:
[out] files a reference to an MStringArray which on return contains the list of referenced files.
[in] wantUnresolvedNames specify if unresolved file names should be returned. Default is false.
[in] wantReferencesOnly specify if only file references should be returned. Setting this to true makes this function equivalent to MFileIO::getReferences(). Default is false.
Returns:
MStatus getReferenceNodes ( const MString fileName,
MStringArray nodes 
) [static]

Return an array of all the nodes referenced by the given filename.

Parameters:
[in] fileName an MString which contains the name of the referenced file.
[out] nodes a reference to an MStringArray which on return contains the list of nodes in the referenced file.
Returns:
Examples:
referenceQueryCmd.cpp.
MStatus getReferenceNodes ( const MString fileName,
MSelectionList list 
) [static]

Return an array of all the nodes referenced by the given filename.

Parameters:
[in] fileName an MString which contains the name of the referenced file.
[out] list a reference to an MSelectionList which on return contains the list of nodes in the referenced file.
Returns:
  • MS::kSuccess operation successful
  • MS::kFailure operation failed due to multiple reference files with the same short name.
  • MS::kFailure operation failed due to no reference files matching the fileName argument.
  • MS::kFailure operation failed
MStatus getReferenceConnectionsMade ( const MString fileName,
MStringArray connections 
) [static]

Return an array of attribute pairs representing connections made to nodes in the given referenced file.

The first element of the pair is the source attribute in the connection, and the second is the destination. These pairs correspond to the "connectAttr" statements in a scene file where changes to the referenced file occur after the referenced file has been opened.

Parameters:
[in] fileName an MString which contains the name of the referenced file.
[out] connections a reference to an MStringArray which on return contains the source/destination connection pairs.
Returns:
Examples:
referenceQueryCmd.cpp.
MStatus getReferenceConnectionsBroken ( const MString fileName,
MStringArray connections 
) [static]

Return an array of attribute pairs representing connections broken to nodes in the given referenced file.

The first element of the pair is the source attribute in the connection, and the second is the destination. These pairs correspond to the "disconnectAttr" statements in a scene file where changes to the referenced file occur after the referenced file has been opened.

Parameters:
[in] fileName an MString which contains the name of the referenced file.
[out] connections a reference to an MStringArray which on return contains the source/destination connection pairs.
Returns:
Examples:
maTranslator.cpp, and referenceQueryCmd.cpp.
MStatus getReferenceConnectionsBroken ( const MString fileName,
MPlugArray srcPlugs,
MPlugArray destPlugs 
) [static]

Returns the source and destination plugs corresponding to all the connections broken between nodes in the given referenced file.

These pairs correspond to the "disconnectAttr" statements in a scene file where changes to the referenced file occur after the referenced file has been opened.

Parameters:
[in] fileName an MString which contains the name of the referenced file.
[out] srcPlugs an MPlugArray which will receive the source plugs of each broken connection.
[out] destPlugs an MPlugArray which contains the destination plugs of each broken connection.
Returns:
MStatus getReferenceConnectionsBroken ( const MObject node,
MStringArray connections,
bool  append = false,
bool  removeDuplicates = true 
) [static]

Returns an array of plug name pairs corresponding to the broken connections from referenced files, where those connections involved the specified node.

To put it another way, if a referenced file contained a connection to the specified node when it was loaded, and that connection was later broken in the main scene, then the names of source and destination plugs for that connection will be returned.

The first element of the pair is the source plug in the connection, and the second is the destination. These pairs correspond to the "disconnectAttr" statements in a scene file where changes to the referenced file occur after the referenced file has been opened.

Parameters:
[in] node the node whose broken reference connections will be returned.
[out] connections a reference to an MStringArray which on return contains the source/destination connection pairs.
[in] append If true, the connection strings will be appended to the existing contents of the connections array. Otherwise the array will be cleared before the strings are added.
[in] removeDuplicates If true then any connections which are already in the connections array will be ignored. Otherwise they will be added to the array again.
Returns:
MStatus getReferenceConnectionsBroken ( const MObject node,
MPlugArray srcPlugs,
MPlugArray destPlugs,
bool  append = false,
bool  removeDuplicates = true 
) [static]

Returns arrays of source and destination plugs corresponding to the broken connections from referenced files, where those connections involved the specified node.

To put it another way, if a referenced file contained a connection to the specified node when it was loaded, and that connection was later broken in the main scene, then the source and destination plugs for that connection will be returned.

Parameters:
[in] node the node whose broken connections should be returned.
[out] srcPlugs an MPlugArray which will receive the source plugs of each broken connection.
[out] destPlugs an MPlugArray which will receive the destination plugs of each broken connection.
[in] append if true, then srcPlugs and destPlugs will not be initially cleared, meaning that the plugs from any broken connections found will be appended after whatever is already in those arrays. This can be useful for building up an array of connections for several nodes.
[in] removeDuplicates if the append parameter is true, then it is possible that some of the broken connections found for node will already exist in plug arrays. For example, if node A and node B have a broken reference connection between them, then they will both return that connection when passed to this method. Setting removeDuplicates true will cause these duplicate connections to only appear in the plug arrays once.
Returns:
MStatus reference ( const MString fileName,
bool  deferReference = false,
bool  lockReference = false 
) [static]

Add the given filename as a reference from the current file.

When a new file is opened, the contents of any files it references are read into the scene, however maya remembers that the elements came from the referenced file, and does not write them during a save operation. Instead the reference is written so the contents of the referenced file (which might have changed) will be read again when the scene is reloaded.

Parameters:
[in] fileName name of the file to add as a reference
[in] deferReference boolean to indicate whether loading has to be deferred.
[in] lockReference If true, all nodes and attributes from the referenced file will be locked.
Returns:
MStatus removeReference ( const MString fileName ) [static]

Remove the named file as a reference from the current file.

Parameters:
[in] fileName name of the file to remove as a reference
Returns:
bool isReadingFile ( ) [static]

Determine if Maya is currently in the middle of a file read operation.

File import operations and file reference operations are both also file read operations.

Returns:
  • true if maya is currently in the process of reading a file
  • false if maya is not currently reading a file
Examples:
cgfxShaderNode.cpp, and GLSLShaderNode.cpp.
bool isWritingFile ( ) [static]

Determine if Maya is currently in the middle of a file write operation.

Returns:
  • true if maya is currently in the process of writing a file
  • false if maya is not currently writing a file
bool isOpeningFile ( ) [static]

Determine if Maya is currently performing a file open operation.

This condition differs from isReadingFile() which is only true when were are actually reading the contents of the file from disk. In contrast, isOpeningFile() will be true during the pre-read operations such as the new operation to delete the current scene contents as well as post read-operations.

The isOpeningFile() method can be used in conjunction with isNewingFile() to determine if a "new" operation is currently being performed on behalf of an "open" operation.

Maya performs two types of "new" operations: 1) explicit "new" on account of a File>New or "file -new", and 2) implicit "new" due to file open. The isOpeningFile() method can be used in conjunction with isNewingFile() to determine if a "new" operation is currently being performed on behalf of an "open" operation. The following table lists how the isNewingFile() and isOpeningFile() methods can be used to determine the current state:

isNewingFile() returns false isNewingFile() returns true
isOpeningFile() returns false Maya is neither in new nor open Maya is perfroming an explicit new (a File>New or file -new)
isOpeningFile() returns true Maya is opening a file, and is not currently performing a new Maya is opening a file and is performing a new on behalf of the open

Based on the above table, it is easy to see how the four distinct states can easily be detected.

Returns:
  • true if maya is currently in the process of opening a file
  • false if maya is not currently opening a file
bool isNewingFile ( ) [static]

Determine if Maya is currently performing a "new" operation.

Maya performs two types of "new" operations: 1) explicit "new" on account of a File>New or "file -new", and 2) implicit "new" due to file open. The isOpeningFile() method can be used in conjunction with isNewingFile() to determine if a "new" operation is currently being performed on behalf of an "open" operation. The following table lists how the isNewingFile() and isOpeningFile() methods can be used to determine the current state:

isNewingFile() returns false isNewingFile() returns true
isOpeningFile() returns false Maya is neither in new nor open Maya is perfroming an explicit new (a File>New or file -new)
isOpeningFile() returns true Maya is opening a file, and is not currently performing a new Maya is opening a file and is performing a new on behalf of the open

Based on the above table, it is easy to see how the four distinct states can easily be detected.

Returns:
  • true if maya is currently in the process of a new operation.
  • false if maya is not currently in new.
bool isSavingReference ( ) [static]

Determine if Maya is currently in the middle of a save reference operation.

i.e. When you do File > Save Reference Edits from the Reference Editor or `file -saveReference`.

Returns:
  • true if Maya is currently in the process of a save reference operation
  • false if Maya is not currently doing a save reference
bool mustRenameToSave ( MStatus ReturnStatus = NULL ) [static]

Scenes may be flagged as needing to be renamed before saving.

The purpose is to prevent overwriting the original file, which may have had a significant change. Users will need to use save as to save the scene with a different file name.

This method returns true if the scene must be renamed before it can be saved.

Parameters:
[out] ReturnStatus The status.
Returns:
true if this file must be renamed before saving.
Status Codes:
MStatus setMustRenameToSave ( bool  rename ) [static]

This method enabled or disables a state where the current Maya scene must save to a different file name.

This can be used to prevent a user from overwriting the original scene if a particularly dangerous or experimental change was made.

If enabled, the user must use save as to save the scene to a different name.

Once the file is renamed, this state is cleared and the file may be saved.

Parameters:
[in] rename true, if the scene should be saved to a different name.
Returns:
MString mustRenameToSaveMsg ( MStatus ReturnStatus = NULL ) [static]

This method returns a string that is displayed when a user attempts to save a scene that was set to not overwrite itself.

See the MFileIO::setMustRenameToSave() documentation.

If a custom message was not set, this method will return an empty string.

Parameters:
[out] ReturnStatus status
Returns:
The error message to display.
Status Codes:
MStatus setMustRenameToSaveMsg ( const MString errorMsg ) [static]

This method sets a string that is displayed when a user attempts to save a scene that was set to not overwrite itself.

See the MFileIO::setMustRenameToSave() documentation.

To use the default error message, pass an empty string to this method.

Parameters:
[in] errorMsg The message to display when attempting a file save.
Returns:
MString beforeOpenFilename ( MStatus ReturnStatus = NULL ) [static]

Retrieves the name of the file requested to be opened.

This name can be retrieved from within the beforeOpenCheck and beforeOpen callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be opened). If called outside of these two callback functions the results are undefined.

Parameters:
[out] ReturnStatus Status code
Returns:
The name of the file to be opened
Status Codes:
Examples:
fileIOMsgCmd.cpp.
MString beforeImportFilename ( MStatus ReturnStatus = NULL ) [static]

Retrieves the name of the file requested to be imported.

This name can be retrieved from within the beforeImportCheck and beforeImport callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be imported). If called outside of these two callback functions the results are undefined.

Parameters:
[out] ReturnStatus Status code
Returns:
The name of the file to be imported
Status Codes:
Examples:
fileIOMsgCmd.cpp.
MString beforeSaveFilename ( MStatus ReturnStatus = NULL ) [static]

Retrieves the name of the file requested to be saved.

This name can be retrieved from within the beforeSaveCheck and beforeSave callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be saved). If called outside of these two callback functions the results are undefined.

Parameters:
[out] ReturnStatus Status code
Returns:
The name of the file to be saved
Status Codes:
Examples:
fileIOMsgCmd.cpp.
MString beforeExportFilename ( MStatus ReturnStatus = NULL ) [static]

Retrieves the name of the file requested to be exported.

This name can be retrieved from within the beforeExportCheck and beforeExport callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be exported). If called outside of these two callback functions the results are undefined.

Parameters:
[out] ReturnStatus Status code
Returns:
The name of the file to be exported
Status Codes:
MString beforeReferenceFilename ( MStatus ReturnStatus = NULL ) [static]

Retrieves the name of the file requested to be referenced.

This name can be retrieved from within the beforeRefenceCheck and beforeRefence callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be referenced). If called outside of these two callback functions the results are undefined.

Parameters:
[out] ReturnStatus Status code
Returns:
The name of the file to be referenced
Status Codes:
Examples:
fileIOMsgCmd.cpp.
MPxFileTranslator * beforeOpenUserFileTranslator ( MStatus ReturnStatus = NULL ) [static]

Retrieves the plug-in-defined file translator being used for file open, if any.

If a standard Maya file translator (e.g. mayaAscii) is being used, returns NULL. The translator can be retrieved from within the beforeOpenCheck and beforeOpen callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be opened). If called outside of these two callback functions the results are undefined.

Parameters:
[out] ReturnStatus Status code
Returns:
A pointer to the file translator being used for file open, or NULL.
Status Codes:
MPxFileTranslator * beforeImportUserFileTranslator ( MStatus ReturnStatus = NULL ) [static]

Retrieves the plug-in-defined file translator being used for import, if any.

If a standard Maya file translator (e.g. mayaAscii) is being used, returns NULL. The translator can be retrieved from within the beforeImportCheck and beforeImport callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be imported). If called outside of these two callback functions the results are undefined.

Parameters:
[out] ReturnStatus Status code
Returns:
A pointer to the file translator being used to import, or NULL.
Status Codes:
MPxFileTranslator * beforeSaveUserFileTranslator ( MStatus ReturnStatus = NULL ) [static]

Retrieves the plug-in-defined file translator being used for file save, if any.

If a standard Maya file translator (e.g. mayaAscii) is being used, returns NULL. The translator can be retrieved from within the beforeSaveCheck and beforeSave callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be saved). If called outside of these two callback functions the results are undefined.

Parameters:
[out] ReturnStatus Status code
Returns:
A pointer to the file translator being used for file save, or NULL.
Status Codes:
MPxFileTranslator * beforeExportUserFileTranslator ( MStatus ReturnStatus = NULL ) [static]

Retrieves the plug-in-defined file translator being used for export, if any.

If a standard Maya file translator (e.g. mayaAscii) is being used, returns NULL. The translator can be retrieved from within the beforeExportCheck and beforeExport callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be exported). If called outside of these two callback functions the results are undefined.

Parameters:
[out] ReturnStatus Status code
Returns:
A pointer to the file translator being used to export, or NULL.
Status Codes:
MPxFileTranslator * beforeReferenceUserFileTranslator ( MStatus ReturnStatus = NULL ) [static]

Retrieves the plug-in-defined file translator being used for file reference, if any.

If a standard Maya file translator (e.g. mayaAscii) is being used, returns NULL. The translator can be retrieved from within the beforeRefenceCheck and beforeRefence callback functions. (that must be registered using MSceneMessage::addCallback() before the file is attempted to be referenced). If called outside of these two callback functions the results are undefined.

Parameters:
[out] ReturnStatus Status code
Returns:
A pointer to the file translator being used for file reference, or NULL.
Status Codes:
MString getLastTempFile ( MStatus ReturnStatus = NULL ) [static]

Returns the temp file used during file save.

Parameters:
[out] ReturnStatus Status code
Returns:
The name of the temp file
Status Codes:
bool getErrorStatus ( MStatus ReturnStatus = NULL ) [static]

Returns the error status of the last file read.

Returns true if any error occurred during the last file read, else false is returned.

Parameters:
[out] ReturnStatus Status code
Returns:
Boolean value indicating the error status.
Status Codes:
MStatus resetError ( ) [static]

Resets the error.

Returns:
MString loadReference ( const MString referenceFileName,
MStatus returnStatus = NULL 
) [static]

Loads the reference, referenced by the given reference node name and file name.

Parameters:
[in] referenceFileName MString containing the name of the reference file.
[out] returnStatus Status code
Returns:
The name of the loaded reference file
MString loadReferenceByNode ( const MString referenceNodeName,
MStatus returnStatus = NULL 
) [static]

Loads the reference, referenced by the given reference node name.

Parameters:
[in] referenceNodeName MString, name of the reference node.
[out] returnStatus Status of the operation.
Returns:
The name of the loaded reference file
MString loadReferenceByNode ( MObject referenceNode,
MStatus returnStatus = NULL 
) [static]

Loads the reference, referenced by the given reference node object.

Parameters:
[in] referenceNode MObject of the reference node.
[out] returnStatus Status of the operation.
Returns:
The name of the loaded reference file
MString unloadReference ( const MString referenceFileName,
MStatus returnStatus = NULL 
) [static]

Unloads the reference, referenced by the given reference node and file.

Parameters:
[in] referenceFileName MString containing the name of the reference file.
[out] returnStatus Status of the operation.
Returns:
The name of the unloaded reference file
MString unloadReferenceByNode ( const MString referenceNodeName,
MStatus returnStatus = NULL 
) [static]

Unloads the reference, referenced by the given reference node.

Parameters:
[in] referenceNodeName MString containing the name of the reference node.
[out] returnStatus Status of the operation.
Returns:
The name of the unloaded reference file
MString unloadReferenceByNode ( MObject referenceNode,
MStatus returnStatus = NULL 
) [static]

Unloads the reference, referenced by the given reference node.

Parameters:
[in] referenceNode MObject containing the reference node.
[out] returnStatus Status of the operation.
Returns:
The name of the unloaded reference file
MString getReferenceFileByNode ( MObject referenceNode,
MStatus returnStatus = NULL 
) [static]

Returns the name of the reference file, which contains the given reference node.

Parameters:
[in] referenceNode MObject containing the reference node.
[out] returnStatus Status of the operation.
Returns:
The name of the reference file, containing the given node.
MStatus cleanReference ( const MString referenceNodeName,
const char *  editCommand = NULL,
MStatus returnStatus = NULL 
) [static]

This function removes the edits from the passed in reference node.

The reference must be in an unloaded state.

Parameters:
[in] referenceNodeName Name of the reference node.
[in] editCommand Name of the edit command to be cleaned.
[out] returnStatus Status of the operation.
Returns:
MStatus saveReference ( const MString referenceFileName,
MStatus returnStatus = NULL 
) [static]

This function saves reference node edits and connections to reference file.

Parameters:
[in] referenceFileName Name of the reference file.
[out] returnStatus Status of the operation.
Returns:
MString fileCurrentlyLoading ( ) [static]

Return the name of the file currently being loaded.

Returns:
An MString containing the name of the file being loaded. An empty string if no load is taking place.
Examples:
filteredAsciiFile.cpp.
bool isImportingFile ( ) [static]

Determine if Maya is currently in the middle of a file import operation.

File import operations are a subset of file reading operations.

Returns:
  • true if Maya is currently in the process of importing a file
  • false if Maya is not currently importing a file
bool isReferencingFile ( ) [static]

Determine if Maya is currently in the middle of a file reference operation.

File reference operations are a subset of file reading operations.

Returns:
  • true if Maya is currently in the process of referencing a file
  • false if Maya is not currently referencing a file
int currentlyReadingFileVersion ( ) [static]

Each Maya file format version has a unique integer identifier.

Identifiers go up sequentially with each new file format.

This method returns the identifier for the version of the file that is currently being read into Maya.

Returns:
The version of the file that is currently being read, or -1 if a file is not currently being read.
int latestMayaFileVersion ( ) [static]

Each Maya file format version has a unique integer identifier.

This method returns the identifier for the file format version that will be saved by this version of Maya.

Returns:
The version of the file format saved by this version of Maya
const char * className ( ) [static]

Returns the name of this class.

Returns:
The name of this class.
MStatus import ( const MString fileName,
const char *  type = NULL,
bool  preserveReferences = false,
const char *  nameSpace = NULL 
) [static]

This method is obsolete. This method is not available in Python.

Deprecated:
Use the MFileIO::importFile method instead.

Import the scene elements from the given file into the current scene. This operation is similar to open, but instead of replacing the current scene with the one from the new file, it adds the elements from that file to the existing ones in the current scene.

Parameters:
[in] fileName name of the file from which to import objects
[in] type if NULL, Maya will try to deduce the type of the file. if not NULL, it must contain the file type to use when importing the file.
[in] preserveReferences Boolean to indicate whether the references need to be preserved.
[in] nameSpace optional name of the namespace to use when importing objects. Use NULL for default of no namespace.
Returns:

MFileIO MFileIO MFileIO MFileIO MFileIO MFileIO MFileIO MFileIO MFileIO MFileIO
MFileIO MFileIO MFileIO MFileIO MFileIO MFileIO MFileIO MFileIO MFileIO MFileIO