Panda3D
|
This corresponds to a. More...
#include "eggTable.h"
Public Types | |
enum | TableType { TT_invalid, TT_table, TT_bundle } |
Public Member Functions | |
EggTable (const string &name="") | |
EggTable (const EggTable ©) | |
virtual TypeHandle | force_init_type () |
TableType | get_table_type () const |
virtual TypeHandle | get_type () const |
bool | has_transform () const |
Returns true if the table contains a transform description, false otherwise. | |
EggTable & | operator= (const EggTable ©) |
void | set_table_type (TableType type) |
virtual void | write (ostream &out, int indent_level) const |
Writes the table and all of its children to the indicated output stream in Egg format. | |
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. | |
static TableType | string_table_type (const string &string) |
Returns the TableType value associated with the given string representation, or TT_invalid if the string does not match any known TableType value. | |
Protected Member Functions | |
virtual void | r_transform (const LMatrix4d &mat, const LMatrix4d &inv, CoordinateSystem to_cs) |
This is called from within the egg code by transform(). |
This corresponds to a.
a <Bundle> entry. As such, it doesn't actually contain a table of numbers, but it may be a parent to an EggSAnimData or an EggXfmAnimData, which do. It may also be a parent to another
<Bundle>, establishing a hierarchy of tables.
Definition at line 31 of file eggTable.h.
bool EggTable::has_transform | ( | ) | const |
Returns true if the table contains a transform description, false otherwise.
Definition at line 29 of file eggTable.cxx.
References EggNode::is_anim_matrix().
Referenced by r_transform().
static void EggTable::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 EggGroupNode.
Definition at line 64 of file eggTable.h.
References EggGroupNode::init_type().
void EggTable::r_transform | ( | const LMatrix4d & | mat, |
const LMatrix4d & | inv, | ||
CoordinateSystem | to_cs | ||
) | [protected, virtual] |
This is called from within the egg code by transform().
It applies a transformation matrix to the current node in some sensible way, then continues down the tree.
The first matrix is the transformation to apply; the second is its inverse. The third parameter is the coordinate system we are changing to, or CS_default if we are not changing coordinate systems.
Reimplemented from EggGroupNode.
Definition at line 103 of file eggTable.cxx.
References has_transform(), EggNode::is_anim_matrix(), EggNode::r_transform(), and LMatrix4d::set_row().
EggTable::TableType EggTable::string_table_type | ( | const string & | string | ) | [static] |
Returns the TableType value associated with the given string representation, or TT_invalid if the string does not match any known TableType value.
Definition at line 79 of file eggTable.cxx.
void EggTable::write | ( | ostream & | out, |
int | indent_level | ||
) | const [virtual] |
Writes the table and all of its children to the indicated output stream in Egg format.
Reimplemented from EggGroupNode.
Definition at line 49 of file eggTable.cxx.
References EggNamedObject::write_header().