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)
TypedWritablemake_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