Public Member Functions | Static Public Member Functions

MIffFile Class Reference

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 )

Opens the file for reading.

Parameters:
[in] fileName The file name (full path).
Returns:
MStatus close ( )

Close the currently open file.

Returns:
Examples:
geometryCacheFile.cpp.
bool isActive ( ) const

Is the file currently active?

Returns:
True if the file is active, false otherwise.
MStatus beginReadGroup ( MIffTag id,
MIffTag type 
)

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:
MStatus endReadGroup ( )

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

Returns:
const void * getChunk ( MIffTag chunkTag,
unsigned *  byteCount 
)

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 
)

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 ( )

Finish grabbing the data.

Returns:
MS::kSuccess if successful, MS::kFailure otherwise.
int get ( void *  buf,
unsigned  byteCount,
MStatus ReturnStatus = NULL 
)

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:
MStatus iffGetShort ( short int &  result )

Grabs a short from the active file.

Parameters:
[out] result the short value read from the file
Returns:
MStatus iffGetInt ( int &  result )

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 )

Grabs a float from the active file.

Parameters:
[out] result the float value read from the file
Returns:
const char * className ( ) [static]

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