Panda3D
|
A mesh of connected polygons and tristrips, etc., with a local vertex pool. More...
#include "fltMesh.h"
Public Member Functions | |
FltMesh (FltHeader *header) | |
virtual TypeHandle | force_init_type () |
virtual TypeHandle | get_type () const |
PT (FltLocalVertexPool) _vpool | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. | |
Protected Member Functions | |
virtual bool | build_record (FltRecordWriter &writer) const |
Fills up the current record on the FltRecordWriter with data for this record, but does not advance the writer. | |
virtual bool | extract_ancillary (FltRecordReader &reader) |
Checks whether the given bead, which follows this bead sequentially in the file, is an ancillary record of this bead. | |
virtual bool | extract_record (FltRecordReader &reader) |
Fills in the information in this bead based on the information given in the indicated datagram, whose opcode has already been read. | |
virtual FltError | write_ancillary (FltRecordWriter &writer) const |
Writes whatever ancillary records are required for this record. |
A mesh of connected polygons and tristrips, etc., with a local vertex pool.
bool FltMesh::build_record | ( | FltRecordWriter & | writer | ) | const [protected, virtual] |
Fills up the current record on the FltRecordWriter with data for this record, but does not advance the writer.
Returns true on success, false if there is some error.
Reimplemented from FltGeometry.
Definition at line 88 of file fltMesh.cxx.
References FltGeometry::build_record(), FltBeadID::build_record(), Datagram::pad_bytes(), FltRecordWriter::set_opcode(), and FltRecordWriter::update_datagram().
bool FltMesh::extract_ancillary | ( | FltRecordReader & | reader | ) | [protected, virtual] |
Checks whether the given bead, which follows this bead sequentially in the file, is an ancillary record of this bead.
If it is, extracts the relevant information and returns true; otherwise, leaves it alone and returns false.
Reimplemented from FltBeadID.
Definition at line 70 of file fltMesh.cxx.
References FltRecordReader::get_opcode().
bool FltMesh::extract_record | ( | FltRecordReader & | reader | ) | [protected, virtual] |
Fills in the information in this bead based on the information given in the indicated datagram, whose opcode has already been read.
Returns true on success, false if the datagram is invalid.
Reimplemented from FltGeometry.
Definition at line 42 of file fltMesh.cxx.
References FltRecord::check_remaining_size(), FltGeometry::extract_record(), FltBeadID::extract_record(), FltRecordReader::get_iterator(), FltRecordReader::get_opcode(), and DatagramIterator::skip_bytes().
static void FltMesh::init_type | ( | ) | [inline, static] |
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 FltGeometry.
FltError FltMesh::write_ancillary | ( | FltRecordWriter & | writer | ) | const [protected, virtual] |
Writes whatever ancillary records are required for this record.
Returns FE_ok on success, or something else if there is some error.
Reimplemented from FltBeadID.
Definition at line 113 of file fltMesh.cxx.
References FltRecordWriter::advance().