- Main Page
- Related Pages
- Modules
- Classes
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions

# MIffFile Class Reference

# OpenMaya - API module for common classes

Search for all occurrences

## Detailed Description

Read file images stored on disk.

This class provides a simple C++ interface to the IFF i/o library (flib). A class called MIffTag is used to create the 4 byte tags that are used to distinguish the different block types within an IFF file.

Examples:

  geometryCacheConverter.cpp, geometryCacheFile.cpp, and geometryCacheFile.h.

`#include <MIffFile.h>`

List of all members.

## Public Member Functions
| MIffFile ()
| Default class constructor.
| MIffFile (const MString &fileName)
| Alternate class constructor.
virtual | ~MIffFile ()
| Destructor.
MStatus | open (const MString &fileName)
| Opens the file for reading.
MStatus | close ()
| Close the currently open file.
bool | isActive () const
| Is the file currently active?
MStatus | beginReadGroup (MIffTag &id, MIffTag &type)
| Opens a group for reading.
MStatus | endReadGroup ()
| Closes group currently being read, skipping remaining data (including nested groups).
const void * | getChunk (MIffTag &chunkTag, unsigned *byteCount)
| Opens a chunk for reading.
MStatus | beginGet (MIffTag &chunkTag, unsigned *byteCount)
| Begin grabbing the data.
MStatus | endGet ()
| Finish grabbing the data.
int | get (void *buf, unsigned byteCount, MStatus *stat=NULL)
| Attempt to read 'byteCount' bytes from the file into the buffer pointed to by buf.
MStatus | iffGetShort (short int &result)
| Grabs a short from the active file.
MStatus | iffGetInt (int &result)
| Grabs an integer from the active file.
MStatus | iffGetFloat (float &result)
| Grabs a float from the active file.
## Static Public Member Functions
static const char * | className ()
| Returns the name of this class.

## Constructor & Destructor Documentation

MIffFile | ( | const MString & | fileName | ) |

Alternate class constructor.

Opens the specified file for reading.

Parameters:

  [in] | fileName | The file name (full path).

## Member Function Documentation

MStatus open | ( | const MString & | fileName | ) |

Search for all occurrences

Opens the file for reading.

Parameters:

  [in] | fileName | The file name (full path).

Returns:
  - MS::kSuccess if the open was successful,
  - MS::kFailure otherwise.

MStatus close | ( |  | ) |

Search for all occurrences

Close the currently open file.

Returns:
  - MS::kSuccess if the close was successful.
  - MS::kFailure Invalid object.

Examples:
  geometryCacheFile.cpp.

bool isActive | ( |  | ) | const

Search for all occurrences

Is the file currently active?

Returns:
  True if the file is active, false otherwise.

MStatus beginReadGroup | ( | MIffTag & | id,
|  | MIffTag & | type
| ) |  |

Search for all occurrences

Opens a group for reading.

A group is composed of several chunks (sub-groups). Provides the id and type of the current group. Can be followed by several calls to chunk reading functions or to nested beginReadGroup(...) calls if needed (depending on the file structure). The function endReadGroup(...) is used to closed a group skipping remaining data (including nested groups).

Parameters:

  [out] | id | id of the group being read
  [out] | type | type of the group being read

Returns:
  - MS::kSuccess if the operation was successful,
  - MS::kFailure otherwise.

MStatus endReadGroup | ( |  | ) |

Search for all occurrences

Closes group currently being read, skipping remaining data (including nested groups).

Returns:
  - MS::kSuccess if the close was successful
  - MS::kFailure otherwise.

const void * getChunk | ( | MIffTag & | chunkTag,
|  | unsigned * | byteCount
| ) |  |

Search for all occurrences

Opens a chunk for reading.

A chunk is a block of unstructured data with an associated tag.

Parameters:

  [out] | chunkTag | chunk's associated tag
  [out] | byteCount | number of bytes in the chunk

Returns:
  - Returns a pointer to the data, the content of which should not be modified.
  - NULL if the read was not successful.

MStatus beginGet | ( | MIffTag & | chunkTag,
|  | unsigned * | byteCount
| ) |  |

Search for all occurrences

Begin grabbing the data.

Parameters:

  [out] | chunkTag | tag of current chunk
  [out] | byteCount | number of bytes in the chunk

Returns:
  MS::kSuccess if the read was successful, MS::kFailure otherwise.

MStatus endGet | ( |  | ) |

Search for all occurrences

Finish grabbing the data.

Returns:
  MS::kSuccess if successful, MS::kFailure otherwise.

int get | ( | void * | buf,
|  | unsigned | byteCount,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

Attempt to read 'byteCount' bytes from the file into the buffer pointed to by buf.

Parameters:

  [out] | buf | pointer to buffer in which to store the data read from the file.
  [in] | byteCount | maximum number of bytes that buf can hold
  [out] | ReturnStatus | status code

Returns:
  Number of bytes read if successful.

Status Codes:
  - MS::kSuccess Operation successful
  - MS::kFailure Read failure has occurred.

MStatus iffGetShort | ( | short int & | result | ) |

Search for all occurrences

Grabs a short from the active file.

Parameters:

  [out] | result | the short value read from the file

Returns:
  - MS::kSuccess if the open was successful,
  - MS::kFailure otherwise.

MStatus iffGetInt | ( | int & | result | ) |

Search for all occurrences

Grabs an integer from the active file.

Parameters:

  [out] | result | the int value read from the file

Returns:
  - MS::kSuccess if the open was successful,
  - MS::fFailure otherwise.

MStatus iffGetFloat | ( | float & | result | ) |

Search for all occurrences

Grabs a float from the active file.

Parameters:

  [out] | result | the float value read from the file

Returns:
  - MS::kSuccess if the open was successful
  - MS::kFailure Invalid object or read.

const char * className | ( |  | ) | `[static]`

Search for all occurrences

Returns the name of this class.

Returns:
  The name of this class.

MIffFile MIffFile MIffFile MIffFile MIffFile MIffFile MIffFile MIffFile MIffFile MIffFile
MIffFile MIffFile MIffFile MIffFile MIffFile MIffFile MIffFile MIffFile MIffFile MIffFile