Panda3D
Public Member Functions | Static Public Member Functions | Protected Member Functions

FltMesh Class Reference

A mesh of connected polygons and tristrips, etc., with a local vertex pool. More...

#include "fltMesh.h"

Inheritance diagram for FltMesh:
FltGeometry FltBeadID FltBead FltRecord TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase

List of all members.

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.

Detailed Description

A mesh of connected polygons and tristrips, etc., with a local vertex pool.

Definition at line 30 of file fltMesh.h.


Member Function Documentation

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.

Definition at line 51 of file fltMesh.h.

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().


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations