Go to the documentation of this file.
60 _local_table = *_table;
105 frame->fillin(scan, manager);
122 if (_table_changed) {
virtual int complete_pointers(TypedWritable **plist, BamReader *manager)
Receives an array of pointers, one for each time manager->read_pointer() was called in fillin().
size_t get_current_index() const
Returns the current position within the datagram of the next piece of data to extract.
A class to retrieve the individual data elements previously stored in a Datagram.
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().
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
static void register_with_read_factory()
Tells the BamReader how to create objects of type Lens.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
void write_pointer(Datagram &packet, const TypedWritable *dest)
The interface for writing a pointer to another object to a Bam file.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
static WritableFactory * get_factory()
Returns the global WritableFactory for generating TypedWritable objects.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Base class for objects that can be written to and read from Bam files.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
PN_float64 get_float64()
Extracts a 64-bit floating-point number.
TypeHandle is the identifier used to differentiate C++ class types.
bool get_bool()
Extracts a boolean value.
const Datagram & get_datagram() const
Return the datagram of this iterator.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void record_frame(BamWriter *manager, Datagram &dg)
Calls record_frame on all recorders.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
void play_frame(DatagramIterator &scan, BamReader *manager)
Calls play_frame on all recorders.
This object is used by the RecorderController to write (and read) a record of the set of recorders in...
void register_factory(TypeHandle handle, CreateFunc *func, void *user_data=nullptr)
Registers a new kind of thing the Factory will be able to create.
size_t get_remaining_size() const
Return the bytes left in the datagram.
void add_uint32(uint32_t value)
Adds an unsigned 32-bit integer to the datagram.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
bool read_pointer(DatagramIterator &scan)
The interface for reading a pointer to another object from a Bam file.
void add_bool(bool value)
Adds a boolean value to the datagram.
This object represents one frame of data in the recorded session file.
uint32_t get_uint32()
Extracts an unsigned 32-bit integer.
virtual 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...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void add_float64(PN_float64 value)
Adds a 64-bit floating-point number to the datagram.
void parse_params(const FactoryParams ¶ms, DatagramIterator &scan, BamReader *&manager)
Takes in a FactoryParams, passed from a WritableFactory into any TypedWritable's make function,...
void play_frame(BamReader *manager)
Once the raw data has been read in from the session file, and the table has been decoded,...