#include <writableConfigurable.h>
Inheritance diagram for WritableConfigurable:
Public Member Functions | |
WritableConfigurable (void) | |
virtual void | config (void) |
void | check_config () const |
bool | is_dirty (void) const |
void | make_dirty (void) |
virtual void | write_datagram (BamWriter *, Datagram &)=0 |
Writes the contents of this object to the datagram for shipping out to a Bam file. | |
virtual TypeHandle | get_type () const |
virtual TypeHandle | force_init_type () |
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 | |
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. | |
Private Attributes | |
bool | _dirty |
Static Private Attributes | |
TypeHandle | _type_handle |
Otherwise the compiler gets confused since both TypedWritable and Configurable inherit from TypedObject.
An object that has data or parameters that are set less frequently (at least occasionally) than every frame. We can cache the configuration info by by using the "dirty" flag.
Definition at line 65 of file writableConfigurable.h.
|
Definition at line 68 of file writableConfigurable.h. |
|
Definition at line 70 of file writableConfigurable.h. References PUBLISHED. Referenced by Geom::set_lengths(). |
|
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(). |
|
Reimplemented in Geom, ImageBuffer, and PixelBuffer. Definition at line 69 of file writableConfigurable.h. Referenced by dDrawable::~dDrawable(). |
|
|
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 TypedWritable. Reimplemented in dDrawable, Geom, GeomLine, GeomLinestrip, GeomPoint, GeomPolygon, GeomQuad, GeomSphere, GeomSprite, GeomTri, GeomTrifan, GeomTristrip, ImageBuffer, PixelBuffer, and Texture. Definition at line 107 of file writableConfigurable.h. |
|
Reimplemented from TypedWritable. Reimplemented in dDrawable, Geom, GeomLine, GeomLinestrip, GeomPoint, GeomPolygon, GeomQuad, GeomSphere, GeomSprite, GeomTri, GeomTrifan, GeomTristrip, ImageBuffer, PixelBuffer, and Texture. Definition at line 92 of file writableConfigurable.h. |
|
Reimplemented from TypedWritable. Reimplemented in dDrawable, Geom, GeomLine, GeomLinestrip, GeomPoint, GeomPolygon, GeomQuad, GeomSphere, GeomSprite, GeomTri, GeomTrifan, GeomTristrip, ImageBuffer, PixelBuffer, and Texture. Definition at line 104 of file writableConfigurable.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. |
|
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 TypedWritable. Reimplemented in dDrawable, Geom, GeomLine, GeomLinestrip, GeomPoint, GeomPolygon, GeomQuad, GeomSphere, GeomSprite, GeomTri, GeomTrifan, GeomTristrip, ImageBuffer, PixelBuffer, and Texture. Definition at line 97 of file writableConfigurable.h. |
|
Definition at line 82 of file writableConfigurable.h. Referenced by Geom::get_texcoords(), and dDrawable::~dDrawable(). |
|
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(). |
|
|
Definition at line 83 of file writableConfigurable.h. Referenced by GeomSphere::draw_immediate(), Geom::get_coords_index(), GeomTri::get_tris(), PixelBuffer::set_size(), PixelBuffer::set_xorg(), PixelBuffer::set_ysize(), PixelBuffer::stencil_buffer(), Geom::transform_vertices(), and GeomLine::write_datagram(). |
|
Writes the contents of this object to the datagram for shipping out to a Bam file.
Reimplemented from TypedWritable. Implemented in dDrawable, Geom, GeomLine, GeomLinestrip, GeomPoint, GeomSprite, ImageBuffer, and Texture. |
|
Definition at line 86 of file writableConfigurable.h. |
|
Reimplemented from TypedWritable. Reimplemented in dDrawable, Geom, GeomLine, GeomLinestrip, GeomPoint, GeomPolygon, GeomQuad, GeomSphere, GeomSprite, GeomTri, GeomTrifan, GeomTristrip, ImageBuffer, PixelBuffer, and Texture. Definition at line 25 of file writableConfigurable.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(). |