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

FltRecord Class Reference

#include <fltRecord.h>

Inheritance diagram for FltRecord:

TypedReferenceCount TypedObject ReferenceCount FltBead FltLightSourceDefinition FltLocalVertexPool FltMaterial FltTexture FltTransformRecord FltUnsupportedRecord FltVectorRecord FltVertex FltVertexList List of all members.

Public Member Functions

 FltRecord (FltHeader *header)
virtual ~FltRecord ()
int get_num_children () const
FltRecord * get_child (int n) const
void clear_children ()
void add_child (FltRecord *child)
int get_num_subfaces () const
FltRecord * get_subface (int n) const
void clear_subfaces ()
void add_subface (FltRecord *subface)
int get_num_extensions () const
FltRecord * get_extension (int n) const
void clear_extensions ()
void add_extension (FltRecord *extension)
int get_num_ancillary () const
FltRecord * get_ancillary (int n) const
void clear_ancillary ()
void add_ancillary (FltRecord *ancillary)
bool has_comment () const
const string & get_comment () const
void clear_comment ()
void set_comment (const string &comment)
void check_remaining_size (const DatagramIterator &di, const string &name=string()) const
virtual void apply_converted_filenames ()
virtual void output (ostream &out) const
virtual void write (ostream &out, int indent_level=0) const
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()

Protected Member Functions

void write_children (ostream &out, int indent_level) const
FltRecord * create_new_record (FltOpcode opcode) const
FltError read_record_and_children (FltRecordReader &reader)
virtual bool extract_record (FltRecordReader &reader)
virtual bool extract_ancillary (FltRecordReader &reader)
virtual FltError write_record_and_children (FltRecordWriter &writer) const
virtual bool build_record (FltRecordWriter &writer) const
virtual FltError write_ancillary (FltRecordWriter &writer) const

Static Protected Member Functions

bool is_ancillary (FltOpcode opcode)

Protected Attributes

FltHeader_header

Private Types

typedef pvector< PT(FltRecord) Records )

Private Attributes

Records _children
Records _subfaces
Records _extensions
Records _ancillary
string _comment

Static Private Attributes

TypeHandle _type_handle

Member Typedef Documentation

typedef pvector<PT(FltRecord) FltRecord::Records) [private]
 

Definition at line 100 of file fltRecord.h.


Constructor & Destructor Documentation

FltRecord::FltRecord FltHeader header  ) 
 

Definition at line 52 of file fltRecord.cxx.

FltRecord::~FltRecord  )  [virtual]
 

Definition at line 63 of file fltRecord.cxx.


Member Function Documentation

void FltRecord::add_ancillary FltRecord *  ancillary  ) 
 

Definition at line 256 of file fltRecord.cxx.

References _ancillary.

Referenced by FltHeader::extract_texture_map().

void FltRecord::add_child FltRecord *  child  ) 
 

Definition at line 105 of file fltRecord.cxx.

References _children.

Referenced by read_record_and_children().

void FltRecord::add_extension FltRecord *  extension  ) 
 

Definition at line 196 of file fltRecord.cxx.

References _extensions.

Referenced by read_record_and_children().

void FltRecord::add_subface FltRecord *  subface  ) 
 

Definition at line 150 of file fltRecord.cxx.

References _subfaces.

Referenced by read_record_and_children().

void FltRecord::apply_converted_filenames  )  [virtual]
 

Reimplemented in FltExternalReference, FltHeader, and FltTexture.

Definition at line 343 of file fltRecord.cxx.

References _children, and _subfaces.

Referenced by FltTexture::apply_converted_filenames(), FltHeader::apply_converted_filenames(), and FltExternalReference::apply_converted_filenames().

bool FltRecord::build_record FltRecordWriter writer  )  const [protected, virtual]
 

Reimplemented in FltBead, FltBeadID, FltCurve, FltExternalReference, FltFace, FltGeometry, FltGroup, FltHeader, FltInstanceDefinition, FltInstanceRef, FltLightSourceDefinition, FltLocalVertexPool, FltLOD, FltMaterial, FltMesh, FltMeshPrimitive, FltObject, FltTexture, FltTransformGeneralMatrix, FltTransformPut, FltTransformRotateAboutEdge, FltTransformRotateAboutPoint, FltTransformRotateScale, FltTransformScale, FltTransformTranslate, FltUnsupportedRecord, FltVectorRecord, FltVertex, and FltVertexList.

Definition at line 822 of file fltRecord.cxx.

Referenced by FltVertexList::build_record(), FltVertex::build_record(), FltVectorRecord::build_record(), FltTransformTranslate::build_record(), FltTransformScale::build_record(), FltTransformRotateScale::build_record(), FltTransformRotateAboutPoint::build_record(), FltTransformRotateAboutEdge::build_record(), FltTransformPut::build_record(), FltTransformGeneralMatrix::build_record(), FltTexture::build_record(), FltMaterial::build_record(), FltLocalVertexPool::build_record(), FltLightSourceDefinition::build_record(), FltBead::build_record(), and write_record_and_children().

void FltRecord::check_remaining_size const DatagramIterator di,
const string &  name = string()
const
 

Definition at line 316 of file fltRecord.cxx.

References _header, FltHeader::get_flt_version(), DatagramIterator::get_remaining_size(), get_type(), FltHeader::max_flt_version(), and nout.

Referenced by FltHeader::extract_14_material_palette(), FltHeader::extract_color_palette(), FltHeader::extract_eyepoint_palette(), FltVertexList::extract_record(), FltVertex::extract_record(), FltVectorRecord::extract_record(), FltTransformTranslate::extract_record(), FltTransformScale::extract_record(), FltTransformRotateScale::extract_record(), FltTransformRotateAboutPoint::extract_record(), FltTransformRotateAboutEdge::extract_record(), FltTransformPut::extract_record(), FltTransformGeneralMatrix::extract_record(), FltTexture::extract_record(), FltObject::extract_record(), FltMeshPrimitive::extract_record(), FltMesh::extract_record(), FltMaterial::extract_record(), FltLOD::extract_record(), FltLocalVertexPool::extract_record(), FltLightSourceDefinition::extract_record(), FltInstanceRef::extract_record(), FltInstanceDefinition::extract_record(), FltHeader::extract_record(), FltGroup::extract_record(), FltFace::extract_record(), FltExternalReference::extract_record(), FltCurve::extract_record(), FltBead::extract_replicate_count(), FltBead::extract_transform_matrix(), and FltTexture::unpack_attr().

void FltRecord::clear_ancillary  ) 
 

Definition at line 234 of file fltRecord.cxx.

References _ancillary.

void FltRecord::clear_children  ) 
 

Definition at line 94 of file fltRecord.cxx.

References _children.

void FltRecord::clear_comment  ) 
 

Definition at line 288 of file fltRecord.cxx.

References _comment.

void FltRecord::clear_extensions  ) 
 

Definition at line 184 of file fltRecord.cxx.

References _extensions.

void FltRecord::clear_subfaces  ) 
 

Definition at line 139 of file fltRecord.cxx.

References _subfaces.

FltRecord * FltRecord::create_new_record FltOpcode  opcode  )  const [protected]
 

Definition at line 524 of file fltRecord.cxx.

References _header, FO_curve, FO_external_ref, FO_face, FO_group, FO_instance, FO_instance_ref, FO_local_vertex_pool, FO_lod, FO_mesh, FO_mesh_primitive, FO_object, FO_vector, FO_vertex_list, and nout.

Referenced by read_record_and_children().

bool FltRecord::extract_ancillary FltRecordReader reader  )  [protected, virtual]
 

Reimplemented in FltBead, FltBeadID, FltHeader, and FltMesh.

Definition at line 712 of file fltRecord.cxx.

References _comment, FO_comment, and reader().

Referenced by FltBead::extract_ancillary(), and read_record_and_children().

bool FltRecord::extract_record FltRecordReader reader  )  [protected, virtual]
 

Reimplemented in FltBead, FltBeadID, FltCurve, FltExternalReference, FltFace, FltGeometry, FltGroup, FltHeader, FltInstanceDefinition, FltInstanceRef, FltLightSourceDefinition, FltLocalVertexPool, FltLOD, FltMaterial, FltMesh, FltMeshPrimitive, FltObject, FltTexture, FltTransformGeneralMatrix, FltTransformPut, FltTransformRotateAboutEdge, FltTransformRotateAboutPoint, FltTransformRotateScale, FltTransformScale, FltTransformTranslate, FltUnsupportedRecord, FltVectorRecord, FltVertex, and FltVertexList.

Definition at line 698 of file fltRecord.cxx.

Referenced by FltBead::extract_ancillary(), FltVertexList::extract_record(), FltVertex::extract_record(), FltVectorRecord::extract_record(), FltTransformTranslate::extract_record(), FltTransformScale::extract_record(), FltTransformRotateScale::extract_record(), FltTransformRotateAboutPoint::extract_record(), FltTransformRotateAboutEdge::extract_record(), FltTransformPut::extract_record(), FltTransformGeneralMatrix::extract_record(), FltTexture::extract_record(), FltMaterial::extract_record(), FltLocalVertexPool::extract_record(), FltLightSourceDefinition::extract_record(), FltBead::extract_record(), and read_record_and_children().

virtual TypeHandle FltRecord::force_init_type void   )  [inline, virtual]
 

Reimplemented from TypedReferenceCount.

Reimplemented in FltBead, FltBeadID, FltCurve, FltExternalReference, FltFace, FltGeometry, FltGroup, FltHeader, FltInstanceDefinition, FltInstanceRef, FltLightSourceDefinition, FltLocalVertexPool, FltLOD, FltMaterial, FltMesh, FltMeshPrimitive, FltObject, FltTexture, FltTransformGeneralMatrix, FltTransformPut, FltTransformRecord, FltTransformRotateAboutEdge, FltTransformRotateAboutPoint, FltTransformRotateScale, FltTransformScale, FltTransformTranslate, FltUnsupportedRecord, FltVectorRecord, FltVertex, and FltVertexList.

Definition at line 113 of file fltRecord.h.

References get_class_type(), and init_type().

FltRecord * FltRecord::get_ancillary int  n  )  const
 

Definition at line 222 of file fltRecord.cxx.

References _ancillary, n, nassertr, and NULL.

FltRecord * FltRecord::get_child int  n  )  const
 

Definition at line 83 of file fltRecord.cxx.

References _children, n, nassertr, and NULL.

Referenced by FltToEggConverter::convert_face(), FltToEggConverter::convert_record(), and FltCopy::scan_flt().

TypeHandle FltRecord::get_class_type void   )  [inline, static]
 

Reimplemented from ReferenceCount.

Reimplemented in FltBead, FltBeadID, FltCurve, FltExternalReference, FltFace, FltGeometry, FltGroup, FltHeader, FltInstanceDefinition, FltInstanceRef, FltLightSourceDefinition, FltLocalVertexPool, FltLOD, FltMaterial, FltMesh, FltMeshPrimitive, FltObject, FltTexture, FltTransformGeneralMatrix, FltTransformPut, FltTransformRecord, FltTransformRotateAboutEdge, FltTransformRotateAboutPoint, FltTransformRotateScale, FltTransformScale, FltTransformTranslate, FltUnsupportedRecord, FltVectorRecord, FltVertex, and FltVertexList.

Definition at line 114 of file fltRecord.h.

References _type_handle.

Referenced by force_init_type(), get_type(), FltVertexList::init_type(), FltVertex::init_type(), FltVectorRecord::init_type(), FltUnsupportedRecord::init_type(), FltTransformRecord::init_type(), FltTexture::init_type(), FltMaterial::init_type(), FltLocalVertexPool::init_type(), FltLightSourceDefinition::init_type(), and FltBead::init_type().

const string & FltRecord::get_comment  )  const
 

Definition at line 278 of file fltRecord.cxx.

References _comment.

Referenced by FltToEggConverter::parse_comment().

FltRecord * FltRecord::get_extension int  n  )  const
 

Definition at line 173 of file fltRecord.cxx.

References _extensions, n, nassertr, and NULL.

int FltRecord::get_num_ancillary  )  const
 

Definition at line 211 of file fltRecord.cxx.

References _ancillary.

int FltRecord::get_num_children  )  const
 

Definition at line 73 of file fltRecord.cxx.

References _children.

Referenced by FltToEggConverter::convert_face(), FltToEggConverter::convert_record(), and FltCopy::scan_flt().

int FltRecord::get_num_extensions  )  const
 

Definition at line 163 of file fltRecord.cxx.

References _extensions.

int FltRecord::get_num_subfaces  )  const
 

Definition at line 118 of file fltRecord.cxx.

References _subfaces.

Referenced by FltToEggConverter::convert_subfaces(), and FltCopy::scan_flt().

FltRecord * FltRecord::get_subface int  n  )  const
 

Definition at line 128 of file fltRecord.cxx.

References _subfaces, n, nassertr, and NULL.

Referenced by FltToEggConverter::convert_subfaces(), and FltCopy::scan_flt().

virtual TypeHandle FltRecord::get_type void   )  const [inline, virtual]
 

Reimplemented from TypedReferenceCount.

Reimplemented in FltBead, FltBeadID, FltCurve, FltExternalReference, FltFace, FltGeometry, FltGroup, FltHeader, FltInstanceDefinition, FltInstanceRef, FltLightSourceDefinition, FltLocalVertexPool, FltLOD, FltMaterial, FltMesh, FltMeshPrimitive, FltObject, FltTexture, FltTransformGeneralMatrix, FltTransformPut, FltTransformRecord, FltTransformRotateAboutEdge, FltTransformRotateAboutPoint, FltTransformRotateScale, FltTransformScale, FltTransformTranslate, FltUnsupportedRecord, FltVectorRecord, FltVertex, and FltVertexList.

Definition at line 110 of file fltRecord.h.

References get_class_type().

Referenced by check_remaining_size(), and output().

bool FltRecord::has_comment  )  const
 

Definition at line 267 of file fltRecord.cxx.

References _comment.

void FltRecord::init_type void   )  [inline, static]
 

Reimplemented from TypedReferenceCount.

Reimplemented in FltBead, FltBeadID, FltCurve, FltExternalReference, FltFace, FltGeometry, FltGroup, FltHeader, FltInstanceDefinition, FltInstanceRef, FltLightSourceDefinition, FltLocalVertexPool, FltLOD, FltMaterial, FltMesh, FltMeshPrimitive, FltObject, FltTexture, FltTransformGeneralMatrix, FltTransformPut, FltTransformRecord, FltTransformRotateAboutEdge, FltTransformRotateAboutPoint, FltTransformRotateScale, FltTransformScale, FltTransformTranslate, FltUnsupportedRecord, FltVectorRecord, FltVertex, and FltVertexList.

Definition at line 117 of file fltRecord.h.

References _type_handle, TypedObject::get_class_type(), TypedReferenceCount::init_type(), and register_type().

Referenced by force_init_type(), init_libflt(), FltVertexList::init_type(), FltVertex::init_type(), FltVectorRecord::init_type(), FltUnsupportedRecord::init_type(), FltTransformRecord::init_type(), FltTexture::init_type(), FltMaterial::init_type(), FltLocalVertexPool::init_type(), FltLightSourceDefinition::init_type(), and FltBead::init_type().

bool FltRecord::is_ancillary FltOpcode  opcode  )  [static, protected]
 

Definition at line 432 of file fltRecord.cxx.

References FO_14_material_palette, FO_15_material, FO_bounding_box, FO_bounding_cylinder, FO_bounding_sphere, FO_bsp, FO_bv_center, FO_bv_orientation, FO_cat, FO_cat_data, FO_clip_region, FO_color_palette, FO_comment, FO_curve, FO_dof, FO_extension, FO_external_ref, FO_eyepoint_palette, FO_face, FO_general_matrix, FO_group, FO_header, FO_instance, FO_instance_ref, FO_light_definition, FO_light_point, FO_light_source, FO_local_vertex_pool, FO_lod, FO_long_id, FO_mesh, FO_mesh_primitive, FO_morph_list, FO_multitexture, FO_name_table, FO_object, FO_pop, FO_pop_attribute, FO_pop_extension, FO_pop_face, FO_push, FO_push_attribute, FO_push_extension, FO_push_face, FO_put, FO_replicate, FO_road_construction, FO_road_path, FO_road_segment, FO_road_zone, FO_rotate_about_edge, FO_rotate_about_point, FO_rotate_and_scale, FO_scale, FO_sound, FO_switch, FO_text, FO_texture, FO_texture_map_palette, FO_transform_matrix, FO_translate, FO_uv_list, FO_vector, FO_vertex_c, FO_vertex_cn, FO_vertex_cnu, FO_vertex_cu, FO_vertex_list, FO_vertex_palette, and nout.

Referenced by read_record_and_children().

void FltRecord::output ostream &  out  )  const [virtual]
 

Reimplemented in FltBeadID, FltExternalReference, FltUnsupportedRecord, and FltVertexList.

Definition at line 362 of file fltRecord.cxx.

References get_type().

FltError FltRecord::read_record_and_children FltRecordReader reader  )  [protected]
 

Definition at line 583 of file fltRecord.cxx.

References _ancillary, _header, add_child(), add_extension(), FltHeader::add_instance(), add_subface(), assert, create_new_record(), DCAST, extract_ancillary(), extract_record(), FE_end_of_file, FE_invalid_record, FE_ok, flt_error_abort, FltError, FO_pop, FO_pop_extension, FO_pop_face, FO_push, FO_push_extension, FO_push_face, FltInstanceDefinition::get_class_type(), is_ancillary(), nout, PT, and reader().

Referenced by FltHeader::read_flt().

void FltRecord::set_comment const string &  comment  ) 
 

Definition at line 298 of file fltRecord.cxx.

References _comment.

void FltRecord::write ostream &  out,
int  indent_level = 0
const [virtual]
 

Reimplemented in FltInstanceRef.

Definition at line 375 of file fltRecord.cxx.

References indent(), and write_children().

Referenced by FltInfo::list_hierarchy().

FltError FltRecord::write_ancillary FltRecordWriter writer  )  const [protected, virtual]
 

Reimplemented in FltBead, FltBeadID, FltHeader, and FltMesh.

Definition at line 834 of file fltRecord.cxx.

References _comment, FE_ok, FltError, FO_comment, and writer().

Referenced by FltBead::write_ancillary(), and write_record_and_children().

void FltRecord::write_children ostream &  out,
int  indent_level
const [protected]
 

Definition at line 388 of file fltRecord.cxx.

References _ancillary, _children, _extensions, _subfaces, and indent().

Referenced by write(), and FltInstanceRef::write().

FltError FltRecord::write_record_and_children FltRecordWriter writer  )  const [protected, virtual]
 

Reimplemented in FltInstanceRef.

Definition at line 729 of file fltRecord.cxx.

References _ancillary, _children, _extensions, _subfaces, assert, build_record(), FE_bad_data, FE_ok, flt_error_abort, FltError, FO_pop, FO_pop_face, FO_push, FO_push_face, write_ancillary(), and writer().

Referenced by FltHeader::write_flt(), FltRecordWriter::write_instance_def(), and FltInstanceRef::write_record_and_children().


Member Data Documentation

Records FltRecord::_ancillary [private]
 

Definition at line 104 of file fltRecord.h.

Referenced by add_ancillary(), clear_ancillary(), get_ancillary(), get_num_ancillary(), read_record_and_children(), write_children(), and write_record_and_children().

Records FltRecord::_children [private]
 

Definition at line 101 of file fltRecord.h.

Referenced by add_child(), apply_converted_filenames(), clear_children(), get_child(), get_num_children(), write_children(), and write_record_and_children().

string FltRecord::_comment [private]
 

Reimplemented in FltTexture.

Definition at line 106 of file fltRecord.h.

Referenced by clear_comment(), extract_ancillary(), get_comment(), has_comment(), set_comment(), and write_ancillary().

Records FltRecord::_extensions [private]
 

Definition at line 103 of file fltRecord.h.

Referenced by add_extension(), clear_extensions(), get_extension(), get_num_extensions(), write_children(), and write_record_and_children().

FltHeader* FltRecord::_header [protected]
 

Definition at line 97 of file fltRecord.h.

Referenced by FltVertexList::build_record(), FltVertex::build_record(), FltTexture::build_record(), FltLocalVertexPool::build_record(), FltGeometry::build_record(), check_remaining_size(), create_new_record(), FltMesh::extract_ancillary(), FltBead::extract_ancillary(), FltVertexList::extract_record(), FltVertex::extract_record(), FltTexture::extract_record(), FltLocalVertexPool::extract_record(), FltGroup::extract_record(), FltGeometry::extract_record(), FltExternalReference::extract_record(), FltGeometry::get_alt_color(), FltGeometry::get_alt_rgb(), FltVertex::get_color(), FltGeometry::get_color(), FltInstanceRef::get_instance(), FltVertex::get_record_length(), FltVertex::get_rgb(), FltGeometry::get_rgb(), read_record_and_children(), FltBead::set_transform(), FltInstanceRef::write(), FltHeader::write_material_palette(), and FltInstanceRef::write_record_and_children().

Records FltRecord::_subfaces [private]
 

Definition at line 102 of file fltRecord.h.

Referenced by add_subface(), apply_converted_filenames(), clear_subfaces(), get_num_subfaces(), get_subface(), write_children(), and write_record_and_children().

TypeHandle FltRecord::_type_handle [static, private]
 

Reimplemented from TypedReferenceCount.

Reimplemented in FltBead, FltBeadID, FltCurve, FltExternalReference, FltFace, FltGeometry, FltGroup, FltHeader, FltInstanceDefinition, FltInstanceRef, FltLightSourceDefinition, FltLocalVertexPool, FltLOD, FltMaterial, FltMesh, FltMeshPrimitive, FltObject, FltTexture, FltTransformGeneralMatrix, FltTransformPut, FltTransformRecord, FltTransformRotateAboutEdge, FltTransformRotateAboutPoint, FltTransformRotateScale, FltTransformScale, FltTransformTranslate, FltUnsupportedRecord, FltVectorRecord, FltVertex, and FltVertexList.

Definition at line 44 of file fltRecord.cxx.

Referenced by get_class_type(), and init_type().


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 01:01:01 2003 for Panda-Tool by doxygen1.3