EggXfmAnimData

class EggXfmAnimData

Bases: EggAnimData

Corresponding to an <Xfm$Anim> entry, this stores a two-dimensional table with up to nine columns, one for each component of a transformation. This is an older syntax of egg anim table, not often used currently–it’s replaced by EggXfmSAnim.

Inheritance diagram

Inheritance diagram of EggXfmAnimData

explicit EggXfmAnimData(std::string const &name = "", CoordinateSystem cs = ::CS_default)
EggXfmAnimData(EggXfmSAnim const &convert_from)
EggXfmAnimData(EggXfmAnimData const &copy)

Converts the newer-style XfmSAnim table to the older-style XfmAnim table.

void clear_contents(void)
void clear_order(void)
static TypeHandle get_class_type(void)
std::string const &get_contents(void) const
CoordinateSystem get_coordinate_system(void) const

Returns the coordinate system this table believes it is defined within. This should always match the coordinate system of the EggData structure that owns it. It is necessary to store it here because the meaning of the h, p, and r columns depends on the coordinate system.

int get_num_cols(void) const

Returns the number of columns in the table. This is set according to the “contents” string, which defines the meaning of each column.

int get_num_rows(void) const

Returns the number of rows in the table.

std::string const &get_order(void) const
std::string const &get_standard_order(void)

Returns the standard order of matrix component composition. This is what the order string must be set to in order to use set_value() or add_data() successfully.

double get_value(int row, int col) const
void get_value(int row, LMatrix4d &mat) const

Returns the value at the indicated row. Row must be in the range 0 <= row < get_num_rows(); col must be in the range 0 <= col < get_num_cols().

Returns the value of the aggregate row of the table as a matrix. This is a convenience function that treats the 2-d table as if it were a single table of matrices.

bool has_contents(void) const
bool has_order(void) const
void set_contents(std::string const &contents)
void set_order(std::string const &order)