15 #ifndef ANIMCHANNELMATRIXXFMTABLE_H
16 #define ANIMCHANNELMATRIXXFMTABLE_H
18 #include "pandabase.h"
20 #include "animChannel.h"
22 #include "pointerToArray.h"
23 #include "pta_stdfloat.h"
24 #include "compose_matrix.h"
44 virtual bool has_changed(
int last_frame,
double last_frac,
45 int this_frame,
double this_frac);
46 virtual void get_value(
int frame,
LMatrix4 &mat);
56 static INLINE
bool is_valid_id(
char table_id);
61 void clear_all_tables();
62 INLINE
bool has_table(
char table_id)
const;
63 INLINE
void clear_table(
char table_id);
66 virtual void write(ostream &out,
int indent_level)
const;
71 INLINE
static char get_table_id(
int table_index);
72 static int get_table_index(
char table_id);
73 INLINE
static PN_stdfloat get_default_value(
int table_index);
88 return get_class_type();
90 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
94 static void init_type() {
95 AnimChannelMatrix::init_type();
96 register_type(_type_handle,
"AnimChannelMatrixXfmTable",
97 AnimChannelMatrix::get_class_type());
104 #include "animChannelMatrixXfmTable.I"
This is the base class for all three-component vectors and points.
virtual void get_pos(int frame, LVecBase3 &pos)
virtual void get_quat(int frame, LQuaternion &quat)
virtual void get_scale(int frame, LVecBase3 &scale)
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
static void register_with_read_factory()
Factory method to generate a AnimGroup object.
Base class for objects that can be written to and read from Bam files.
virtual void get_hpr(int frame, LVecBase3 &hpr)
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
virtual bool has_changed(int last_frame, double last_frac, int this_frame, double this_frac)
Returns true if the value has changed since the last call to has_changed().
virtual void write(ostream &out, int indent_level) const
Writes a brief description of the group and all of its descendants.
This is the base class for AnimChannel and AnimBundle.
This is a 4-by-4 transform matrix.
virtual void get_value_no_scale_shear(int frame, ValueType &value)
An instance of this class is passed to the Factory when requesting it to do its business and construc...
virtual void write_datagram(BamWriter *manager, Datagram &me)
Function to write the important information in the particular object to a Datagram.
This is the base quaternion class.
An animation channel that issues a matrix each frame, read from a table such as might have been read ...
A class to retrieve the individual data elements previously stored in a Datagram. ...
TypeHandle is the identifier used to differentiate C++ class types.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
virtual void get_shear(int frame, LVecBase3 &shear)
Similar to PointerToArray, except that its contents may not be modified.