Corresponding to an <S$Anim> entry, this stores a single column of numbers, for instance for a morph target, or as one column in an EggXfmSAnim. More...
#include "eggSAnimData.h"
Public Member Functions | |
| EggSAnimData (const std::string &name="") | |
| EggSAnimData (const EggSAnimData ©) | |
| virtual TypeHandle | force_init_type () |
| int | get_num_rows () const |
| Returns the number of rows in the table. More... | |
| virtual TypeHandle | get_type () const |
| double | get_value (int row) const |
| Returns the value at the indicated row. More... | |
| EggSAnimData & | operator= (const EggSAnimData ©) |
| void | optimize () |
| Optimizes the data by collapsing a long table of duplicate values into a single value. More... | |
| void | set_value (int row, double value) |
| Changes the value at the indicated row. More... | |
| virtual void | write (std::ostream &out, int indent_level) const |
| Writes the data to the indicated output stream in Egg format. More... | |
Public Member Functions inherited from EggAnimData | |
| EggAnimData (const std::string &name="") | |
| EggAnimData (const EggAnimData ©) | |
| void | add_data (double value) |
| Adds a single element to the table. More... | |
| void | clear_data () |
| Removes all data and empties the table. More... | |
| void | clear_fps () |
| PTA_double | get_data () const |
| Returns the entire table of data. More... | |
| double | get_fps () const |
| This is only valid if has_fps() returns true. More... | |
| int | get_size () const |
| Returns the number of elements in the table. More... | |
| bool | has_fps () const |
| EggAnimData & | operator= (const EggAnimData ©) |
| void | quantize (double quantum) |
| Rounds each element of the table to the nearest multiple of quantum. More... | |
| void | set_data (const PTA_double &data) |
| Replaces the entire table of data. More... | |
| void | set_fps (double type) |
Public Member Functions inherited from EggNode | |
| EggNode (const std::string &name="") | |
| EggNode (const EggNode ©) | |
| void | apply_texmats () |
| Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves. More... | |
| virtual EggRenderMode * | determine_alpha_mode () |
| Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. More... | |
| virtual EggRenderMode * | determine_bin () |
| Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. More... | |
| virtual bool | determine_decal () |
| Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. More... | |
| virtual EggRenderMode * | determine_depth_offset () |
| Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_offset specified. More... | |
| virtual EggRenderMode * | determine_depth_test_mode () |
| Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. More... | |
| virtual EggRenderMode * | determine_depth_write_mode () |
| Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. More... | |
| virtual EggRenderMode * | determine_draw_order () |
| Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. More... | |
| virtual bool | determine_indexed () |
| Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. More... | |
| virtual EggRenderMode * | determine_visibility_mode () |
| Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. More... | |
| void | flatten_transforms () |
| Removes any transform and instance records from this node in the scene graph and below. More... | |
| int | get_depth () const |
| const LMatrix4d & | get_node_frame () const |
| Returns the coordinate frame of the node itself. More... | |
| const LMatrix4d & | get_node_frame_inv () const |
| Returns the inverse of the matrix returned by get_node_frame(). More... | |
| const LMatrix4d * | get_node_frame_inv_ptr () const |
| Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix. More... | |
| const LMatrix4d * | get_node_frame_ptr () const |
| Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix. More... | |
| const LMatrix4d & | get_node_to_vertex () const |
| Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. More... | |
| const LMatrix4d * | get_node_to_vertex_ptr () const |
| Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix. More... | |
| EggGroupNode * | get_parent () const |
| const LMatrix4d & | get_vertex_frame () const |
| Returns the coordinate frame of the vertices referenced by primitives at or under this node. More... | |
| const LMatrix4d & | get_vertex_frame_inv () const |
| Returns the inverse of the matrix returned by get_vertex_frame(). More... | |
| const LMatrix4d * | get_vertex_frame_inv_ptr () const |
| Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix. More... | |
| const LMatrix4d * | get_vertex_frame_ptr () const |
| Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix. More... | |
| const LMatrix4d & | get_vertex_to_node () const |
| Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. More... | |
| const LMatrix4d * | get_vertex_to_node_ptr () const |
| Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix. More... | |
| virtual bool | is_anim_matrix () const |
| Returns true if this node represents a table of animation transformation data, false otherwise. More... | |
| virtual bool | is_joint () const |
| Returns true if this particular node represents a <Joint> entry or not. More... | |
| bool | is_local_coord () const |
| Returns true if this node's vertices are not in the global coordinate space. More... | |
| bool | is_under_instance () const |
| Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise. More... | |
| bool | is_under_transform () const |
| Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise. More... | |
| EggNode & | operator= (const EggNode ©) |
| bool | parse_egg (const std::string &egg_syntax) |
| Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. More... | |
| int | rename_node (vector_string strip_prefix) |
| Rename by stripping out the prefix. More... | |
| void | test_under_integrity () const |
| void | transform (const LMatrix4d &mat) |
| Applies the indicated transformation to the node and all of its descendants. More... | |
| void | transform_vertices_only (const LMatrix4d &mat) |
| Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. More... | |
Public Member Functions inherited from EggNamedObject | |
| EggNamedObject (const std::string &name="") | |
| EggNamedObject (const EggNamedObject ©) | |
| EggNamedObject & | operator= (const EggNamedObject ©) |
| void | output (std::ostream &out) const |
| void | write_header (std::ostream &out, int indent_level, const char *egg_keyword) const |
| Writes the first line of the egg object, e.g. More... | |
Public Member Functions inherited from EggObject | |
| EggObject (const EggObject ©) | |
| virtual EggTransform * | as_transform () |
| Returns this object cross-cast to an EggTransform pointer, if it inherits from EggTransform, or NULL if it does not. More... | |
| void | clear_user_data () |
| Removes *all* user data pointers from the node. More... | |
| void | clear_user_data (TypeHandle type) |
| Removes the user data pointer of the indicated type. More... | |
| EggUserData * | get_user_data () const |
| Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored. More... | |
| EggUserData * | get_user_data (TypeHandle type) const |
| Returns the user data pointer of the indicated type, if it exists, or NULL if it does not. More... | |
| bool | has_user_data () const |
| Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise. More... | |
| bool | has_user_data (TypeHandle type) const |
| Returns true if the user data pointer of the indicated type has been set, false otherwise. More... | |
| EggObject & | operator= (const EggObject ©) |
| void | set_user_data (EggUserData *user_data) |
| Sets the user data associated with this object. 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... | |
Public Member Functions inherited from Namable | |
| Namable (const std::string &initial_name="") | |
| void | clear_name () |
| Resets the Namable's name to empty. More... | |
| const std::string & | get_name () const |
| bool | has_name () const |
| Returns true if the Namable has a nonempty name set, false if the name is empty. More... | |
| void | output (std::ostream &out) const |
| Outputs the Namable. More... | |
| void | set_name (const std::string &name) |
Static Public Member Functions | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
Static Public Member Functions inherited from EggAnimData | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
Static Public Member Functions inherited from EggNode | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
Static Public Member Functions inherited from EggNamedObject | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
Static Public Member Functions inherited from EggObject | |
| 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 () |
Static Public Member Functions inherited from Namable | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
Additional Inherited Members | |
Public Attributes inherited from EggNode | |
| get_depth | |
| Returns the number of nodes above this node in the egg hierarchy. More... | |
| get_parent | |
Public Attributes inherited from TypedObject | |
| get_type | |
Public Attributes inherited from ReferenceCount | |
| get_ref_count | |
| Returns the current reference count. More... | |
Public Attributes inherited from Namable | |
| get_name | |
| set_name | |
Corresponding to an <S$Anim> entry, this stores a single column of numbers, for instance for a morph target, or as one column in an EggXfmSAnim.
Definition at line 25 of file eggSAnimData.h.
|
inline |
Returns the number of rows in the table.
For an SAnim table, each row has one column.
Definition at line 46 of file eggSAnimData.I.
References EggAnimData::get_size().
Referenced by optimize(), and write().
|
inline |
Returns the value at the indicated row.
Row must be in the range 0 <= row < get_num_rows().
Definition at line 56 of file eggSAnimData.I.
Referenced by optimize(), and write().
| void EggSAnimData::optimize | ( | ) |
Optimizes the data by collapsing a long table of duplicate values into a single value.
Definition at line 29 of file eggSAnimData.cxx.
References get_num_rows(), and get_value().
|
inline |
Changes the value at the indicated row.
Row must be in the range 0 <= row < get_num_rows().
Definition at line 67 of file eggSAnimData.I.
|
virtual |
Writes the data to the indicated output stream in Egg format.
Implements EggNode.
Definition at line 51 of file eggSAnimData.cxx.
References enquote_string(), EggAnimData::get_fps(), get_num_rows(), get_value(), Namable::has_name(), indent(), EggNamedObject::write_header(), and write_long_list().
1.8.15