Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

AnimChannelMatrixXfmTable Class Reference

#include <animChannelMatrixXfmTable.h>

Inheritance diagram for AnimChannelMatrixXfmTable:

AnimChannel< ACMatrixSwitchType > AnimChannelBase AnimGroup TypedWritableReferenceCount Namable TypedWritable ReferenceCount TypedObject List of all members.

Public Member Functions

 AnimChannelMatrixXfmTable (AnimGroup *parent, const string &name)
virtual bool has_changed (int last_frame, int this_frame)
virtual void get_value (int frame, LMatrix4f &mat)
virtual void get_value_no_scale (int frame, LMatrix4f &value)
virtual void get_scale (int frame, float scale[3])
void clear_all_tables ()
void set_table (char table_id, const CPTA_float &table)
INLINE bool has_table (char table_id) const
INLINE CPTA_float get_table (char table_id) const
INLINE void clear_table (char table_id)
virtual void write (ostream &out, int indent_level) const
virtual void write_datagram (BamWriter *manager, Datagram &me)
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

INLINE bool is_valid_id (char table_id)
void register_with_read_factory (void)
TypedWritable * make_AnimChannelMatrixXfmTable (const FactoryParams &params)
TypeHandle get_class_type ()
void init_type ()

Protected Types

enum  { num_tables = 9 }

Protected Member Functions

 AnimChannelMatrixXfmTable (void)
void fillin (DatagramIterator &scan, BamReader *manager)

Static Protected Member Functions

INLINE char get_table_id (int table_index)
int get_table_index (char table_id)
INLINE float get_default_value (int table_index)

Protected Attributes

CPTA_float _tables [num_tables]

Static Private Attributes

const char _table_ids [num_tables]
const float _default_values [num_tables]
TypeHandle _type_handle

Member Enumeration Documentation

anonymous enum [protected]
 

Enumeration values:
num_tables 

Definition at line 62 of file animChannelMatrixXfmTable.h.


Constructor & Destructor Documentation

AnimChannelMatrixXfmTable::AnimChannelMatrixXfmTable (  AnimGroup *  parent,
const string &  name
) 
 

Definition at line 48 of file animChannelMatrixXfmTable.cxx.

AnimChannelMatrixXfmTable::AnimChannelMatrixXfmTable (  void   )  [protected]
 

Definition at line 54 of file animChannelMatrixXfmTable.cxx.


Member Function Documentation

void AnimChannelMatrixXfmTable::clear_all_tables (   ) 
 

Definition at line 149 of file animChannelMatrixXfmTable.cxx.

References _tables, NULL, and num_tables.

Referenced by fillin().

INLINE void AnimChannelMatrixXfmTable::clear_table (  char  table_id  ) 
 

void AnimChannelMatrixXfmTable::fillin (  DatagramIterator &  scan,
BamReader *  manager
)  [protected]
 

Reimplemented from AnimChannelBase.

Definition at line 303 of file animChannelMatrixXfmTable.cxx.

References _tables, clear_all_tables(), PointerToArray< float >::empty_array(), AnimChannelBase::fillin(), DatagramIterator::get_bool(), DatagramIterator::get_float32(), DatagramIterator::get_uint16(), num_tables, PointerToArray< float >::push_back(), read_compressed_channels, FFTCompressor::read_header(), FFTCompressor::read_hprs(), FFTCompressor::read_reals(), and PointerToArray< float >::v().

Referenced by make_AnimChannelMatrixXfmTable().

virtual TypeHandle AnimChannelMatrixXfmTable::force_init_type (  void   )  [inline, virtual]
 

Reimplemented from AnimChannel< ACMatrixSwitchType >.

Definition at line 83 of file animChannelMatrixXfmTable.h.

References AnimChannel< ACMatrixSwitchType >::get_class_type(), and AnimChannel< ACMatrixSwitchType >::init_type().

TypeHandle AnimChannelMatrixXfmTable::get_class_type (  void   )  [inline, static]
 

Reimplemented from AnimChannel< ACMatrixSwitchType >.

Definition at line 84 of file animChannelMatrixXfmTable.h.

Referenced by register_with_read_factory().

INLINE float AnimChannelMatrixXfmTable::get_default_value (  int  table_index  )  [static, protected]
 

Referenced by get_scale(), get_value(), and get_value_no_scale().

void AnimChannelMatrixXfmTable::get_scale (  int  frame,
float  scale[3]
)  [virtual]
 

Reimplemented from AnimChannel< ACMatrixSwitchType >.

Definition at line 131 of file animChannelMatrixXfmTable.cxx.

References _tables, ConstPointerToArray< float >::empty(), get_default_value(), scale, and ConstPointerToArray< float >::size().

INLINE CPTA_float AnimChannelMatrixXfmTable::get_table (  char  table_id  )  const
 

INLINE char AnimChannelMatrixXfmTable::get_table_id (  int  table_index  )  [static, protected]
 

Referenced by get_table_index(), and write().

int AnimChannelMatrixXfmTable::get_table_index (  char  table_id  )  [static, protected]
 

Definition at line 223 of file animChannelMatrixXfmTable.cxx.

References get_table_id(), and num_tables.

Referenced by set_table().

virtual TypeHandle AnimChannelMatrixXfmTable::get_type (  void   )  const [inline, virtual]
 

Reimplemented from AnimChannel< ACMatrixSwitchType >.

Definition at line 80 of file animChannelMatrixXfmTable.h.

References AnimChannel< ACMatrixSwitchType >::get_class_type().

Referenced by write().

void AnimChannelMatrixXfmTable::get_value (  int  frame,
LMatrix4f &  mat
)  [virtual]
 

Definition at line 87 of file animChannelMatrixXfmTable.cxx.

References _tables, compose_matrix(), ConstPointerToArray< float >::empty(), get_default_value(), num_tables, and ConstPointerToArray< float >::size().

void AnimChannelMatrixXfmTable::get_value_no_scale (  int  frame,
LMatrix4f &  value
)  [virtual]
 

Definition at line 108 of file animChannelMatrixXfmTable.cxx.

References _tables, compose_matrix(), ConstPointerToArray< float >::empty(), get_default_value(), num_tables, and ConstPointerToArray< float >::size().

bool AnimChannelMatrixXfmTable::has_changed (  int  last_frame,
int  this_frame
)  [virtual]
 

Reimplemented from AnimChannelBase.

Definition at line 68 of file animChannelMatrixXfmTable.cxx.

References _tables, num_tables, and ConstPointerToArray< float >::size().

INLINE bool AnimChannelMatrixXfmTable::has_table (  char  table_id  )  const
 

void AnimChannelMatrixXfmTable::init_type (  void   )  [inline, static]
 

Reimplemented from AnimChannel< ACMatrixSwitchType >.

Definition at line 87 of file animChannelMatrixXfmTable.h.

References AnimChannel< ACMatrixSwitchType >::init_type(), and register_type().

Referenced by ConfigureFn().

INLINE bool AnimChannelMatrixXfmTable::is_valid_id (  char  table_id  )  [static]
 

TypedWritable * AnimChannelMatrixXfmTable::make_AnimChannelMatrixXfmTable (  const FactoryParams &  params  )  [static]
 

Definition at line 371 of file animChannelMatrixXfmTable.cxx.

References fillin(), params, and parse_params().

Referenced by register_with_read_factory().

void AnimChannelMatrixXfmTable::register_with_read_factory (  void   )  [static]
 

Reimplemented from AnimGroup.

Definition at line 388 of file animChannelMatrixXfmTable.cxx.

References get_class_type(), BamReader::get_factory(), make_AnimChannelMatrixXfmTable(), and Factory< TypedWritable >::register_factory().

Referenced by ConfigureFn().

void AnimChannelMatrixXfmTable::set_table (  char  table_id,
const CPTA_float &  table
) 
 

Definition at line 164 of file animChannelMatrixXfmTable.cxx.

References AnimGroup::_root, _tables, AnimBundle::get_num_frames(), get_table_index(), num_frames, and table.

void AnimChannelMatrixXfmTable::write (  ostream &  out,
int  indent_level
)  const [virtual]
 

Reimplemented from AnimGroup.

Definition at line 188 of file animChannelMatrixXfmTable.cxx.

References AnimGroup::_children, _tables, ConstPointerToArray< float >::empty(), Namable::get_name(), get_table_id(), get_type(), indent(), num_tables, ConstPointerToArray< float >::size(), and AnimGroup::write_descendants().

void AnimChannelMatrixXfmTable::write_datagram (  BamWriter *  manager,
Datagram &  me
)  [virtual]
 

Reimplemented from AnimChannelBase.

Definition at line 240 of file animChannelMatrixXfmTable.cxx.

References _tables, Datagram::add_bool(), Datagram::add_float32(), Datagram::add_uint16(), compress_chan_quality, compress_channels, ConstPointerToArray< float >::empty(), FFTCompressor::is_compression_available(), num_tables, p, r, FFTCompressor::set_quality(), ConstPointerToArray< float >::size(), AnimChannelBase::write_datagram(), FFTCompressor::write_header(), FFTCompressor::write_hprs(), and FFTCompressor::write_reals().


Member Data Documentation

const float AnimChannelMatrixXfmTable::_default_values [static, private]
 

Initial value:

{ 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }

Definition at line 39 of file animChannelMatrixXfmTable.cxx.

const char AnimChannelMatrixXfmTable::_table_ids [static, private]
 

Initial value:

{ 'i', 'j', 'k', 'h', 'p', 'r', 'x', 'y', 'z' }

Definition at line 35 of file animChannelMatrixXfmTable.cxx.

CPTA_float AnimChannelMatrixXfmTable::_tables[num_tables] [protected]
 

Definition at line 64 of file animChannelMatrixXfmTable.h.

Referenced by clear_all_tables(), fillin(), get_scale(), get_value(), get_value_no_scale(), has_changed(), set_table(), write(), and write_datagram().

TypeHandle AnimChannelMatrixXfmTable::_type_handle [static, private]
 

Reimplemented from AnimChannel< ACMatrixSwitchType >.

Definition at line 32 of file animChannelMatrixXfmTable.cxx.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:11:17 2003 for Panda by doxygen1.3