Represents a single vertex in the vertex palette. More...
#include "fltVertex.h"
Public Types | |
enum | Flags { F_hard_edge = 0x8000, F_normal_frozen = 0x4000, F_no_color = 0x2000, F_packed_color = 0x1000 } |
Public Member Functions | |
FltVertex (FltHeader *header) | |
virtual TypeHandle | force_init_type () |
LColor | get_color () const |
If has_color() indicates true, returns the color of the vertex, as a four- component value. More... | |
FltOpcode | get_opcode () const |
Returns the opcode that this record will be written as. More... | |
int | get_record_length () const |
Returns the length of this record in bytes as it will be written to the flt file. More... | |
LRGBColor | get_rgb () const |
If has_color() indicates true, returns the color of the vertex, as a three- component value. More... | |
virtual TypeHandle | get_type () const |
bool | has_color () const |
Returns true if the vertex has a primary color indicated, false otherwise. More... | |
void | set_color (const LColor &color) |
Sets the color of the vertex, using the packed color convention. More... | |
void | set_rgb (const LRGBColor &rgb) |
Sets the color of the vertex, using the packed color convention. More... | |
Public Member Functions inherited from FltRecord | |
FltRecord (FltHeader *header) | |
void | add_ancillary (FltRecord *ancillary) |
Adds a new unsupported ancillary record to the end of the list of ancillary records for this record. More... | |
void | add_child (FltRecord *child) |
Adds a new child to the end of the list of children for this record. More... | |
void | add_extension (FltRecord *extension) |
Adds a new extension to the end of the list of extensions for this record. More... | |
void | add_subface (FltRecord *subface) |
Adds a new subface to the end of the list of subfaces for this record. More... | |
virtual void | apply_converted_filenames () |
Walks the hierarchy at this record and below and copies the _converted_filename record into the _orig_filename record, so the flt file will be written out with the converted filename instead of what was originally read in. More... | |
void | check_remaining_size (const DatagramIterator &di, const std::string &name=std::string()) const |
Checks that the iterator has no bytes left, as it should at the end of a successfully read record. More... | |
void | clear_ancillary () |
Removes all unsupported ancillary records from this record. More... | |
void | clear_children () |
Removes all children from this record. More... | |
void | clear_comment () |
Removes the comment for this record. More... | |
void | clear_extensions () |
Removes all extensions from this record. More... | |
void | clear_subfaces () |
Removes all subfaces from this record. More... | |
FltRecord * | get_ancillary (int n) const |
Returns the nth unsupported ancillary record of this record. More... | |
FltRecord * | get_child (int n) const |
Returns the nth child of this record. More... | |
const std::string & | get_comment () const |
Retrieves the comment for this record, or empty string if the record has no comment. More... | |
FltRecord * | get_extension (int n) const |
Returns the nth extension of this record. More... | |
int | get_num_ancillary () const |
Returns the number of unsupported ancillary records of this record. More... | |
int | get_num_children () const |
Returns the number of child records of this record. More... | |
int | get_num_extensions () const |
Returns the number of extension attribute records for this object. More... | |
int | get_num_subfaces () const |
Returns the number of subface records of this record. More... | |
FltRecord * | get_subface (int n) const |
Returns the nth subface of this record. More... | |
bool | has_comment () const |
Returns true if this record has a nonempty comment, false otherwise. More... | |
virtual void | output (std::ostream &out) const |
Writes a quick one-line description of the record, but not its children. More... | |
void | set_comment (const std::string &comment) |
Changes the comment for this record. More... | |
virtual void | write (std::ostream &out, int indent_level=0) const |
Writes a multiple-line description of the record and all of its children. More... | |
Public Member Functions inherited from TypedReferenceCount | |
TypedReferenceCount (const TypedReferenceCount ©) | |
void | operator= (const TypedReferenceCount ©) |
Public Member Functions inherited from TypedObject | |
TypedObject (const TypedObject ©)=default | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_typed_object () const |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
int | get_best_parent_from_Set (const std::set< int > &) const |
int | get_type_index () const |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. More... | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. More... | |
TypedObject & | operator= (const TypedObject ©)=default |
Public Member Functions inherited from ReferenceCount | |
int | get_ref_count () const |
WeakReferenceList * | get_weak_list () const |
Returns the WeakReferenceList associated with this ReferenceCount object. More... | |
bool | has_weak_list () const |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More... | |
void | local_object () |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More... | |
void | ref () const |
Explicitly increments the reference count. More... | |
bool | ref_if_nonzero () const |
Atomically increases the reference count of this object if it is not zero. More... | |
bool | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | test_ref_count_nonzero () const |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
virtual bool | unref () const |
Explicitly decrements the reference count. More... | |
WeakReferenceList * | weak_ref () |
Adds the indicated PointerToVoid as a weak reference to this object. More... | |
void | weak_unref () |
Removes the indicated PointerToVoid as a weak reference to this object. More... | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from FltRecord | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from TypedReferenceCount | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from TypedObject | |
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. More... | |
Static Public Member Functions inherited from ReferenceCount | |
static TypeHandle | get_class_type () |
static void | init_type () |
Public Attributes | |
int | _color_index |
int | _color_name_index |
unsigned int | _flags |
bool | _has_normal |
bool | _has_uv |
LPoint3 | _normal |
FltPackedColor | _packed_color |
LPoint3d | _pos |
LPoint2 | _uv |
Public Attributes inherited from TypedObject | |
get_type | |
Public Attributes inherited from ReferenceCount | |
get_ref_count | |
Returns the current reference count. More... | |
Friends | |
class | FltHeader |
Represents a single vertex in the vertex palette.
Flt files index vertices by their byte offset in the vertex palette; within this library, we map those byte offsets to pointers automatically.
This may represent a vertex with or without a normal or texture coordinates.
Definition at line 32 of file fltVertex.h.
LColor FltVertex::get_color | ( | ) | const |
If has_color() indicates true, returns the color of the vertex, as a four- component value.
In the case of a vertex, the alpha channel will always be 1.0, as MultiGen does not store transparency per-vertex.
Definition at line 111 of file fltVertex.cxx.
FltOpcode FltVertex::get_opcode | ( | ) | const |
Returns the opcode that this record will be written as.
Definition at line 41 of file fltVertex.cxx.
Referenced by get_record_length().
int FltVertex::get_record_length | ( | ) | const |
Returns the length of this record in bytes as it will be written to the flt file.
Definition at line 62 of file fltVertex.cxx.
References get_opcode().
LRGBColor FltVertex::get_rgb | ( | ) | const |
If has_color() indicates true, returns the color of the vertex, as a three- component value.
Definition at line 123 of file fltVertex.cxx.
|
inline |
Returns true if the vertex has a primary color indicated, false otherwise.
Definition at line 18 of file fltVertex.I.
|
inline |
Sets the color of the vertex, using the packed color convention.
The alpha component is ignored.
Definition at line 30 of file fltVertex.I.
References set_rgb().
void FltVertex::set_rgb | ( | const LRGBColor & | rgb | ) |
Sets the color of the vertex, using the packed color convention.
Definition at line 134 of file fltVertex.cxx.
References FltPackedColor::set_rgb().
Referenced by set_color().