Panda3D

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
EggSAnimData Class Reference

Corresponding to an 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"`

Inheritance diagram for EggSAnimData:

## Public Member Functions
| EggSAnimData (const EggSAnimData &copy)
| EggSAnimData (const std::string &name="")
virtual TypeHandle | force_init_type ()
int | get_num_rows () const
| Returns the number of rows in the table.
virtual TypeHandle | get_type () const
double | get_value (int row) const
| Returns the value at the indicated row.
EggSAnimData & | operator= (const EggSAnimData &copy)
void | optimize ()
| Optimizes the data by collapsing a long table of duplicate values into a single value.
void | set_value (int row, double value)
| Changes the value at the indicated row.
virtual void | write (std::ostream &out, int indent_level) const
| Writes the data to the indicated output stream in Egg format.
Public Member Functions inherited from EggAnimData
| EggAnimData (const EggAnimData &copy)
| EggAnimData (const std::string &name="")
void | add_data (double value)
| Adds a single element to the table.
void | clear_data ()
| Removes all data and empties the table.
void | clear_fps ()
PTA_double | get_data () const
| Returns the entire table of data.
double | get_fps () const
| This is only valid if has_fps() returns true.
int | get_size () const
| Returns the number of elements in the table.
bool | has_fps () const
EggAnimData & | operator= (const EggAnimData &copy)
void | quantize (double quantum)
| Rounds each element of the table to the nearest multiple of quantum.
void | set_data (const PTA_double &data)
| Replaces the entire table of data.
void | set_fps (double type)
Public Member Functions inherited from EggNode
| EggNode (const EggNode &copy)
| EggNode (const std::string &name="")
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.
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.
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.
virtual bool | determine_decal ()
| Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set.
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.
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.
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.
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.
virtual bool | determine_indexed ()
| Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set.
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.
void | flatten_transforms ()
| Removes any transform and instance records from this node in the scene graph and below.
int | get_depth () const
const LMatrix4d & | get_node_frame () const
| Returns the coordinate frame of the node itself.
const LMatrix4d & | get_node_frame_inv () const
| Returns the inverse of the matrix returned by get_node_frame().
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.
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.
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.
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.
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.
const LMatrix4d & | get_vertex_frame_inv () const
| Returns the inverse of the matrix returned by get_vertex_frame().
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.
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.
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.
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.
virtual bool | is_anim_matrix () const
| Returns true if this node represents a table of animation transformation data, false otherwise.
virtual bool | is_joint () const
| Returns true if this particular node represents a <Joint> entry or not.
bool | is_local_coord () const
| Returns true if this node's vertices are not in the global coordinate space.
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.
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.
EggNode & | operator= (const EggNode &copy)
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.
int | rename_node (vector_string strip_prefix)
| Rename by stripping out the prefix.
void | test_under_integrity () const
void | transform (const LMatrix4d &mat)
| Applies the indicated transformation to the node and all of its descendants.
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.
Public Member Functions inherited from EggNamedObject
| EggNamedObject (const EggNamedObject &copy)
| EggNamedObject (const std::string &name="")
EggNamedObject & | operator= (const EggNamedObject &copy)
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.
Public Member Functions inherited from EggObject
| EggObject (const EggObject &copy)
virtual EggTransform * | as_transform ()
| Returns this object cross-cast to an EggTransform pointer, if it inherits from EggTransform, or NULL if it does not.
void | clear_user_data ()
| Removes *all* user data pointers from the node.
void | clear_user_data (TypeHandle type)
| Removes the user data pointer of the indicated type.
EggUserData * | get_user_data () const
| Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
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.
bool | has_user_data () const
| Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
bool | has_user_data (TypeHandle type) const
| Returns true if the user data pointer of the indicated type has been set, false otherwise.
EggObject & | operator= (const EggObject &copy)
void | set_user_data (EggUserData *user_data)
| Sets the user data associated with this object.
Public Member Functions inherited from TypedReferenceCount
| TypedReferenceCount (const TypedReferenceCount &copy)
void | operator= (const TypedReferenceCount &copy)
Public Member Functions inherited from TypedObject
| TypedObject (const TypedObject &copy)=default
TypedObject * | as_typed_object ()
| Returns the object, upcast (if necessary) to a TypedObject pointer.
const TypedObject * | as_typed_object () const
| Returns the object, upcast (if necessary) to a TypedObject pointer.
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.
bool | is_exact_type (TypeHandle handle) const
| Returns true if the current object is the indicated type exactly.
bool | is_of_type (TypeHandle handle) const
| Returns true if the current object is or derives from the indicated type.
TypedObject & | operator= (const TypedObject &copy)=default
Public Member Functions inherited from MemoryBase
void | operator delete (void *, void *)
void | operator delete (void *ptr)
void | operator delete[] (void *, void *)
void | operator delete[] (void *ptr)
void * | operator new (size_t size)
void * | operator new (size_t size, void *ptr)
void * | operator new[] (size_t size)
void * | operator new[] (size_t size, void *ptr)
Public Member Functions inherited from ReferenceCount
int | get_ref_count () const
WeakReferenceList * | get_weak_list () const
| Returns the WeakReferenceList associated with this ReferenceCount object.
bool | has_weak_list () const
| Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise.
void | local_object ()
| This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack.
void | ref () const
| Explicitly increments the reference count.
bool | ref_if_nonzero () const
| Atomically increases the reference count of this object if it is not zero.
bool | test_ref_count_integrity () const
| Does some easy checks to make sure that the reference count isn't completely bogus.
bool | test_ref_count_nonzero () const
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus.
virtual bool | unref () const
| Explicitly decrements the reference count.
bool | unref_if_one () const
| Atomically decreases the reference count of this object if it is one.
WeakReferenceList * | weak_ref ()
| Adds the indicated PointerToVoid as a weak reference to this object.
void | weak_unref ()
| Removes the indicated PointerToVoid as a weak reference to this object.
Public Member Functions inherited from Namable
| Namable (const std::string &initial_name="")
void | clear_name ()
| Resets the Namable's name to empty.
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.
void | output (std::ostream &out) const
| Outputs the Namable.
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.
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.
| get_parent
Public Attributes inherited from TypedObject
| get_type
Public Attributes inherited from ReferenceCount
| get_ref_count
| Returns the current reference count.
Public Attributes inherited from Namable
| get_name
| set_name

## Detailed Description

Corresponding to an 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.

## Constructor & Destructor Documentation

## ◆ EggSAnimData() [1/2]

EggSAnimData::EggSAnimData | ( | const std::string & | name = "" | ) |
| inline explicit

Definition at line 17 of file eggSAnimData.I.

## ◆ EggSAnimData() [2/2]

EggSAnimData::EggSAnimData | ( | const EggSAnimData & | copy | ) |
| inline

Definition at line 25 of file eggSAnimData.I.

## Member Function Documentation

## ◆ force_init_type()

virtual TypeHandle EggSAnimData::force_init_type | ( |  | ) |
| inline virtual

Reimplemented from EggAnimData.

Definition at line 52 of file eggSAnimData.h.

## ◆ get_class_type()

static TypeHandle EggSAnimData::get_class_type | ( |  | ) |
| inline static

Definition at line 41 of file eggSAnimData.h.

## ◆ get_num_rows()

int EggSAnimData::get_num_rows | ( |  | ) | const
| inline

Returns the number of rows in the table.

For an SAnim table, each row has one column.

Definition at line 45 of file eggSAnimData.I.

References EggAnimData::get_size().

Referenced by EggXfmSAnim::add_data(), EggXfmSAnim::get_num_rows(), get_value(), EggXfmSAnim::get_value(), optimize(), EggXfmSAnim::optimize(), set_value(), EggXfmSAnim::set_value(), and write().

## ◆ get_type()

virtual TypeHandle EggSAnimData::get_type | ( |  | ) | const
| inline virtual

Reimplemented from EggAnimData.

Definition at line 49 of file eggSAnimData.h.

## ◆ get_value()

double EggSAnimData::get_value | ( | int | row | ) | const
| inline

Returns the value at the indicated row.

Row must be in the range 0 <= row < get_num_rows().

Definition at line 55 of file eggSAnimData.I.

References get_num_rows().

Referenced by EggXfmSAnim::get_value(), optimize(), EggXfmSAnim::optimize(), and write().

## ◆ init_type()

static void EggSAnimData::init_type | ( |  | ) |
| inline static

Definition at line 44 of file eggSAnimData.h.

## ◆ operator=()

EggSAnimData & EggSAnimData::operator= | ( | const EggSAnimData & | copy | ) |
| inline

Definition at line 33 of file eggSAnimData.I.

## ◆ optimize()

void EggSAnimData::optimize | ( |  | ) |

Optimizes the data by collapsing a long table of duplicate values into a single value.

Definition at line 28 of file eggSAnimData.cxx.

References get_num_rows(), and get_value().

Referenced by EggXfmSAnim::optimize().

## ◆ set_value()

void EggSAnimData::set_value | ( | int | row,
|  | double | value )
| inline

Changes the value at the indicated row.

Row must be in the range 0 <= row < get_num_rows().

Definition at line 66 of file eggSAnimData.I.

References get_num_rows().

Referenced by EggXfmSAnim::set_value().

## ◆ write()

void EggSAnimData::write | ( | std::ostream & | out,
|  | int | indent_level ) const
| virtual

Writes the data to the indicated output stream in Egg format.

Implements EggNode.

Definition at line 50 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().

Referenced by EggXfmSAnim::write().

The documentation for this class was generated from the following files:

- panda/src/egg/eggSAnimData.h
- panda/src/egg/eggSAnimData.cxx
- panda/src/egg/eggSAnimData.I