#include <pnmFileTypeTGA.h>
Inheritance diagram for PNMFileTypeTGA:
Public Member Functions | |
PNMFileTypeTGA () | |
virtual string | get_name () const |
Returns a few words describing the file type. | |
virtual int | get_num_extensions () const |
Returns the number of different possible filename extensions_tga associated with this particular file type. | |
virtual string | get_extension (int n) const |
Returns the nth possible filename extension associated with this particular file type, without a leading dot. | |
virtual string | get_suggested_extension () const |
Returns a suitable filename extension (without a leading dot) to suggest for files of this type, or empty string if no suggestions are available. | |
virtual PNMReader * | make_reader (istream *file, bool owns_file=true, const string &magic_number=string()) |
Allocates and returns a new PNMReader suitable for reading from this file type, if possible. | |
virtual PNMWriter * | make_writer (ostream *file, bool owns_file=true) |
Allocates and returns a new PNMWriter suitable for reading from this file type, if possible. | |
virtual TypeHandle | get_type () const |
virtual TypeHandle | force_init_type () |
virtual bool | has_magic_number () const |
Returns true if this particular file type uses a magic number to identify it, false otherwise. | |
virtual bool | matches_magic_number (const string &magic_number) const |
Returns true if the indicated "magic number" byte stream (the initial few bytes read from the file) matches this particular file type, false otherwise. | |
virtual void | write_datagram (BamWriter *writer, Datagram &datagram) |
Fills the indicated datagram up with a binary representation of the current object, in preparation for writing to a Bam file. | |
virtual int | complete_pointers (TypedWritable **p_list, BamReader *manager) |
Receives an array of pointers, one for each time manager->read_pointer() was called in fillin(). | |
virtual void | finalize () |
Called by the BamReader to perform any final actions needed for setting up the object after all objects have been read and all pointers have been completed. | |
int | get_type_index () const |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. | |
Static Public Member Functions | |
void | register_with_read_factory () |
Registers the current object as something that can be read from a Bam file. | |
TypeHandle | get_class_type () |
void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. | |
Static Public Attributes | |
TypedWritable *const | Null = (TypedWritable*)0L |
Protected Member Functions | |
void | fillin (DatagramIterator &scan, BamReader *manager) |
This internal function is intended to be called by each class's make_from_bam() method to read in all of the relevant data from the BamFile for the new object. | |
Static Protected Member Functions | |
TypedWritable * | make_PNMFileTypeTGA (const FactoryParams ¶ms) |
This method is called by the BamReader when an object of this type is encountered in a Bam file; it should allocate and return a new object with all the data read. | |
void | init_pnm () |
Initializes the underlying PNM library, if it has not already been initialized. | |
TypedWritable * | make_PNMFileType (const FactoryParams ¶ms) |
Static Private Attributes | |
TypeHandle | _type_handle |
Definition at line 46 of file pnmFileTypeTGA.h.
|
Definition at line 114 of file pnmFileTypeTGA.cxx. |
|
Receives an array of pointers, one for each time manager->read_pointer() was called in fillin(). Returns the number of pointers processed. This is the callback function that is made by the BamReader at some later point, after all of the required pointers have been filled in. It is necessary because there might be forward references in a bam file; when we call read_pointer() in fillin(), the object may not have been read from the file yet, so we do not have a pointer available at that time. Thus, instead of returning a pointer, read_pointer() simply reserves a later callback. This function provides that callback. The calling object is responsible for keeping track of the number of times it called read_pointer() and extracting the same number of pointers out of the supplied vector, and storing them appropriately within the object. Reimplemented in AnimBundleNode, AnimGroup, PartBundleNode, PartGroup, Character, CharacterJoint, CollisionNode, GeomSprite, PiecewiseCurve, ClipPlaneAttrib, FogAttrib, LensNode, LightAttrib, MaterialAttrib, RenderEffects, RenderState, TextureAttrib, Person, and Child. Definition at line 94 of file typedWritable.cxx. Referenced by RenderState::do_invert_compose(). |
|
|
Called by the BamReader to perform any final actions needed for setting up the object after all objects have been read and all pointers have been completed.
Reimplemented in PartBundle, RenderAttrib, RenderEffect, RenderEffects, RenderState, and TransformState. Definition at line 112 of file typedWritable.cxx. Referenced by BamReader::skip_pointer(). |
|
Reimplemented from PNMFileType. Definition at line 127 of file pnmFileTypeTGA.h. |
|
Reimplemented from PNMFileType. Definition at line 116 of file pnmFileTypeTGA.h. |
|
Returns the nth possible filename extension associated with this particular file type, without a leading dot.
Reimplemented from PNMFileType. Definition at line 158 of file pnmFileTypeTGA.cxx. References PNMFileType::init_pnm(). |
|
Returns a few words describing the file type.
Implements PNMFileType. Definition at line 126 of file pnmFileTypeTGA.cxx. References num_extensions_tga. |
|
Returns the number of different possible filename extensions_tga associated with this particular file type.
Reimplemented from PNMFileType. Definition at line 141 of file pnmFileTypeTGA.cxx. References extensions_tga, nassertr, and num_extensions_tga. |
|
Returns a suitable filename extension (without a leading dot) to suggest for files of this type, or empty string if no suggestions are available.
Reimplemented from PNMFileType. Definition at line 176 of file pnmFileTypeTGA.cxx. References PNMFileType::init_pnm(). |
|
Reimplemented from PNMFileType. Definition at line 124 of file pnmFileTypeTGA.h. |
|
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index(). Definition at line 71 of file typedObject.I. References TypeHandle::get_name(), TypedObject::get_type(), and INLINE. |
|
Returns true if this particular file type uses a magic number to identify it, false otherwise.
Reimplemented in PNMFileTypeBMP, PNMFileTypeJPG, PNMFileTypeJPG2000, PNMFileTypeSGI, PNMFileTypeSoftImage, and PNMFileTypeTIFF. Definition at line 118 of file pnmFileType.cxx. References NULL. |
|
Initializes the underlying PNM library, if it has not already been initialized. This should be called by every implementation of make_reader() and make_writer(), to ensure that the library is properly initialized before any I/O is attempted. Definition at line 190 of file pnmFileType.cxx. Referenced by get_extension(), PNMFileTypeIMG::get_extension(), PNMFileTypeAlias::get_extension(), get_suggested_extension(), PNMFileTypeIMG::get_suggested_extension(), PNMFileTypeAlias::get_suggested_extension(), PNMFileTypeTIFF::has_magic_number(), PNMFileTypeSoftImage::has_magic_number(), PNMFileTypeSGI::has_magic_number(), PNMFileTypeJPG2000::has_magic_number(), and PNMFileTypeJPG::has_magic_number(). |
|
This function is declared non-inline to work around a compiler bug in g++ 2.96. Making it inline seems to cause problems in the optimizer. Reimplemented from PNMFileType. Definition at line 119 of file pnmFileTypeTGA.h. |
|
Returns true if the current object is the indicated type exactly.
Definition at line 101 of file typedObject.I. Referenced by PT(), and CollisionNode::xform(). |
|
|
|
|
This method is called by the BamReader when an object of this type is encountered in a Bam file; it should allocate and return a new object with all the data read. In the case of the PNMFileType objects, since these objects are all shared, we just pull the object from the registry. Definition at line 680 of file pnmFileTypeTGA.cxx. |
|
Allocates and returns a new PNMReader suitable for reading from this file type, if possible. If reading from this file type is not supported, returns NULL. Reimplemented from PNMFileType. Definition at line 193 of file pnmFileTypeTGA.cxx. |
|
Allocates and returns a new PNMWriter suitable for reading from this file type, if possible. If writing files of this type is not supported, returns NULL. Reimplemented from PNMFileType. Definition at line 211 of file pnmFileTypeTGA.cxx. |
|
Returns true if the indicated "magic number" byte stream (the initial few bytes read from the file) matches this particular file type, false otherwise.
Reimplemented in PNMFileTypeBMP, PNMFileTypeJPG, PNMFileTypeJPG2000, PNMFileTypeSGI, PNMFileTypeSoftImage, and PNMFileTypeTIFF. Definition at line 135 of file pnmFileType.cxx. References PNMFileType::_did_init_pnm. |
|
Registers the current object as something that can be read from a Bam file.
Reimplemented from PNMFileType. Definition at line 652 of file pnmFileTypeTGA.cxx. |
|
Fills the indicated datagram up with a binary representation of the current object, in preparation for writing to a Bam file. None of the particular PNMFileType objects store any extra data--at least, not yet--so we just define this up here to do nothing. Reimplemented from TypedWritable. Definition at line 243 of file pnmFileType.cxx. |
|
Reimplemented from PNMFileType. Definition at line 66 of file pnmFileTypeTGA.cxx. |
|
Definition at line 25 of file typedWritable.cxx. Referenced by Child::complete_pointers(), Parent::complete_pointers(), Person::complete_pointers(), LoaderFileTypeBam::get_extension(), PartGroup::pick_channel_index(), BamReader::read_pointer(), and AnimGroup::write_datagram(). |