BamFile

Inheritance:

Methods of BamFile:

BamFile
BamFile::BamFile(void);

Description:

close
void BamFile::close(void);

Description: Closes the input or output stream.

getCurrentMajorVer
int BamFile::get_current_major_ver(void);

Description: Returns the system current major version number. This is the version number that will be assigned to any generated Bam files.

getCurrentMinorVer
int BamFile::get_current_minor_ver(void);

Description: Returns the system current minor version number. This is the version number that will be assigned to any generated Bam files.

getFileEndian
BamEndian BamFile::get_file_endian(void) const;

Description: Returns the endian preference indicated by the Bam file currently being read or written.

getFileMajorVer
int BamFile::get_file_major_ver(void);

Description: Returns the major version number of the file currently being read, or the system current major version number if no file is currently open for reading.

getFileMinorVer
int BamFile::get_file_minor_ver(void);

Description: Returns the minor version number of the file currently being read, or the system current minor version number if no file is currently open for reading.

getReader
BamReader *BamFile::get_reader(void);

Description: Returns the BamReader in charge of performing the read operations. This will return NULL unless open_read() was called.

getWriter
BamWriter *BamFile::get_writer(void);

Description: Returns the BamWriter in charge of performing the write operations. This will return NULL unless open_write() was called.

isEof
bool BamFile::is_eof(void) const;

Description: Returns true if the reader has reached end-of-file, false otherwise. This call is only valid after a call to read_object().

isValidRead
bool BamFile::is_valid_read(void) const;

Description: Returns true if the Bam file is open and ready for reading with no errors so far detected, or false otherwise.

isValidWrite
bool BamFile::is_valid_write(void) const;

Description: Returns true if the Bam file is open and ready for writing with no errors so far detected, or false otherwise.

openRead
bool BamFile::open_read(Filename const &bam_filename, bool report_errors = (1));

Description: Attempts to open the indicated filename for reading. Returns true if successful, false on error.
Description: Attempts to open the indicated stream for reading. The filename is just for information purposes only. Returns true if successful, false on error.

openWrite
bool BamFile::open_write(Filename const &bam_filename, bool report_errors = (1));

Description: Attempts to open the indicated file for writing. If another file by the same name already exists, it will be silently removed. Returns true if successful, false otherwise.
Description: Attempts to open the indicated stream for writing. The filename is just for information purposes only. Returns true if successful, false on error.

readNode
PointerTo< PandaNode > BamFile::read_node(bool report_errors = (1));

Description: Although the bam file format is general enough to store a list of objects of arbitrary type, bam files on disk usually contain just one object, a PandaNode that is the root of a scene graph. (Bam files that store other kinds of things are usually given the extension "boo", for "binary other objects", to differentiate them from the normal scene graph type file.)
This is a convenience method for when you believe you are reading a scene graph bam file. It reads the one PandaNode and returns it. It also calls resolve() to fully resolve the object, since we expect this will be the only object in the file.
If the bam file contains something other than a PandaNode, an error is printed and NULL is returned.

readObject
TypedWritable *BamFile::read_object(void);

Description: Reads and returns the next object from the Bam file, or NULL if the end of the file has been reached, or if there is an error condition. Use is_eof() to differentiate these two cases.
The pointers returned by this method will not be valid for use until resolve() is subsequently called.

resolve
bool BamFile::resolve(void);

Description: This must be called after one or more objects have been read via calls to read_object() in order to resolve all internal pointer references in the objects read and make all the pointers valid. It returns true if all objects are successfully resolved, or false if some have not been (in which case you must call resolve() again later).

writeObject
bool BamFile::write_object(TypedWritable const *object);

Description: Writes the indicated object to the Bam file. Returns true if successful, false on error.