Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

BamWriter Class Reference

#include <bamWriter.h>

List of all members.

Public Member Functions

 BamWriter (DatagramSink *sink)
 ~BamWriter ()
bool init ()
bool write_object (const TypedWritable *obj)
bool has_object (const TypedWritable *obj) const
void write_pointer (Datagram &packet, const TypedWritable *dest)
void write_cdata (Datagram &packet, const PipelineCyclerBase &cycler)
bool register_pta (Datagram &packet, const void *ptr)
void write_handle (Datagram &packet, TypeHandle type)

Private Types

typedef pmap< const TypedWritable *,
StoreState
StateMap
typedef pdeque< const TypedWritable * > ObjectQueue
typedef pmap< const void *,
int > 
PTAMap

Private Member Functions

int enqueue_object (const TypedWritable *object)

Private Attributes

pset< int > _types_written
StateMap _state_map
int _next_object_id
ObjectQueue _object_queue
PTAMap _pta_map
int _next_pta_id
DatagramSink_target


Member Typedef Documentation

typedef pdeque<const TypedWritable *> BamWriter::ObjectQueue [private]
 

Definition at line 120 of file bamWriter.h.

typedef pmap<const void *, int> BamWriter::PTAMap [private]
 

Definition at line 125 of file bamWriter.h.

typedef pmap<const TypedWritable *, StoreState> BamWriter::StateMap [private]
 

Definition at line 112 of file bamWriter.h.


Constructor & Destructor Documentation

BamWriter::BamWriter DatagramSink sink  ) 
 

Definition at line 34 of file bamWriter.cxx.

References sink.

BamWriter::~BamWriter  ) 
 

Definition at line 45 of file bamWriter.cxx.


Member Function Documentation

int BamWriter::enqueue_object const TypedWritable object  )  [private]
 

Definition at line 374 of file bamWriter.cxx.

References _next_object_id, _object_queue, _state_map, TypedObject::get_class_type(), TypedWritable::get_type(), TypedObject::is_of_type(), and TypedWritable::Null.

Referenced by write_object(), and write_pointer().

bool BamWriter::has_object const TypedWritable obj  )  const
 

Definition at line 194 of file bamWriter.cxx.

References _state_map.

Referenced by PandaNode::CData::write_up_list().

bool BamWriter::init  ) 
 

Definition at line 59 of file bamWriter.cxx.

References _next_object_id, _next_pta_id, _target, Datagram::add_uint16(), and DatagramSink::put_datagram().

Referenced by main(), and BamFile::open_write().

bool BamWriter::register_pta Datagram packet,
const void *  ptr
 

Definition at line 272 of file bamWriter.cxx.

References _next_pta_id, _pta_map, Datagram::add_uint16(), and NULL.

void BamWriter::write_cdata Datagram packet,
const PipelineCyclerBase cycler
 

Definition at line 247 of file bamWriter.cxx.

References PipelineCyclerBase::read(), PipelineCyclerBase::release_read(), and CycleData::write_datagram().

Referenced by SwitchNode::write_datagram(), Spotlight::write_datagram(), SequenceNode::write_datagram(), RopeNode::write_datagram(), PointLight::write_datagram(), PlaneNode::write_datagram(), PandaNode::write_datagram(), LODNode::write_datagram(), Light::write_datagram(), GeomNode::write_datagram(), and DirectionalLight::write_datagram().

void BamWriter::write_handle Datagram packet,
TypeHandle  type
 

Definition at line 326 of file bamWriter.cxx.

References _types_written, Datagram::add_string(), Datagram::add_uint16(), Datagram::add_uint8(), index, and type.

Referenced by write_object().

bool BamWriter::write_object const TypedWritable obj  ) 
 

Definition at line 102 of file bamWriter.cxx.

References _object_queue, _state_map, _target, Datagram::add_uint16(), enqueue_object(), FactoryBase::find_registered_type(), BamReader::get_factory(), TypedWritable::get_type(), TypeHandle::none(), DatagramSink::put_datagram(), type, and write_handle().

Referenced by main(), and BamFile::write_object().

void BamWriter::write_pointer Datagram packet,
const TypedWritable dest
 

Definition at line 214 of file bamWriter.cxx.

References _state_map, Datagram::add_uint16(), enqueue_object(), and NULL.

Referenced by TextureAttrib::write_datagram(), Child::write_datagram(), Parent::write_datagram(), Person::write_datagram(), RenderState::write_datagram(), RenderEffects::write_datagram(), PiecewiseCurve::write_datagram(), PartGroup::write_datagram(), PartBundleNode::write_datagram(), PandaNode::CData::write_datagram(), MaterialAttrib::write_datagram(), LightAttrib::write_datagram(), GeomSprite::write_datagram(), GeomNode::CData::write_datagram(), FogAttrib::write_datagram(), CollisionNode::write_datagram(), ClipPlaneAttrib::write_datagram(), CharacterJoint::write_datagram(), Character::write_datagram(), AnimGroup::write_datagram(), AnimBundleNode::write_datagram(), PandaNode::CData::write_down_list(), and PandaNode::CData::write_up_list().


Member Data Documentation

int BamWriter::_next_object_id [private]
 

Definition at line 116 of file bamWriter.h.

Referenced by enqueue_object(), and init().

int BamWriter::_next_pta_id [private]
 

Definition at line 127 of file bamWriter.h.

Referenced by init(), and register_pta().

ObjectQueue BamWriter::_object_queue [private]
 

Definition at line 121 of file bamWriter.h.

Referenced by enqueue_object(), and write_object().

PTAMap BamWriter::_pta_map [private]
 

Definition at line 126 of file bamWriter.h.

Referenced by register_pta().

StateMap BamWriter::_state_map [private]
 

Definition at line 113 of file bamWriter.h.

Referenced by enqueue_object(), has_object(), write_object(), and write_pointer().

DatagramSink* BamWriter::_target [private]
 

Definition at line 130 of file bamWriter.h.

Referenced by init(), and write_object().

pset<int> BamWriter::_types_written [private]
 

Definition at line 100 of file bamWriter.h.

Referenced by write_handle().


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:11:20 2003 for Panda by doxygen1.3