Panda3D
Public Member Functions | List of all members
FltRecordWriter Class Reference

This class writes a sequence of FltRecords to an ostream, handling opcode and size counts properly. More...

#include "fltRecordWriter.h"

Public Member Functions

 FltRecordWriter (std::ostream &out)
 
FltError advance ()
 Writes the current record to the flt file, and resets the current record to receive new data. More...
 
const Datagramget_datagram () const
 
void set_datagram (const Datagram &datagram)
 Sets the datagram that will be written when advance() is called. More...
 
void set_opcode (FltOpcode opcode)
 Sets the opcode associated with the current record. More...
 
Datagramupdate_datagram ()
 Returns a modifiable reference to the datagram associated with the current record. More...
 
FltError write_instance_def (FltHeader *header, int instance_index)
 Ensures that the given instance definition has already been written to the file. More...
 
FltError write_record (FltOpcode opcode, const Datagram &datagram=Datagram())
 A convenience function to quickly write a simple record that consists of an opcode and possibly a datagram. More...
 

Detailed Description

This class writes a sequence of FltRecords to an ostream, handling opcode and size counts properly.

Definition at line 31 of file fltRecordWriter.h.

Member Function Documentation

◆ advance()

FltError FltRecordWriter::advance ( )

Writes the current record to the flt file, and resets the current record to receive new data.

Returns FE_ok on success, or something else on error.

Definition at line 75 of file fltRecordWriter.cxx.

References Datagram::get_length().

Referenced by write_record().

◆ set_datagram()

void FltRecordWriter::set_datagram ( const Datagram datagram)

Sets the datagram that will be written when advance() is called.

Definition at line 55 of file fltRecordWriter.cxx.

◆ set_opcode()

void FltRecordWriter::set_opcode ( FltOpcode  opcode)

Sets the opcode associated with the current record.

Definition at line 47 of file fltRecordWriter.cxx.

Referenced by FltLocalVertexPool::build_record().

◆ update_datagram()

Datagram & FltRecordWriter::update_datagram ( )

Returns a modifiable reference to the datagram associated with the current record.

This datagram should then be stuffed with data corresponding to the data in the record, in preparation for calling advance() to write the data.

Definition at line 66 of file fltRecordWriter.cxx.

◆ write_instance_def()

FltError FltRecordWriter::write_instance_def ( FltHeader header,
int  instance_index 
)

Ensures that the given instance definition has already been written to the file.

If it has not, writes it now.

Definition at line 136 of file fltRecordWriter.cxx.

◆ write_record()

FltError FltRecordWriter::write_record ( FltOpcode  opcode,
const Datagram datagram = Datagram() 
)

A convenience function to quickly write a simple record that consists of an opcode and possibly a datagram.

Definition at line 125 of file fltRecordWriter.cxx.

References advance().


The documentation for this class was generated from the following files: