An animation channel that accepts a matrix each frame from some dynamic input provided by code. More...
#include "animChannelMatrixDynamic.h"
Public Member Functions | |
| AnimChannelMatrixDynamic (const std::string &name) | |
| virtual int | complete_pointers (TypedWritable **plist, BamReader *manager) |
| Receives an array of pointers, one for each time manager->read_pointer() was called in fillin(). More... | |
| void | fillin (DatagramIterator &scan, BamReader *manager) |
| Function that reads out of the datagram (or asks manager to read) all of the data that is needed to re-create this object and stores it in the appropiate place. More... | |
| virtual TypeHandle | force_init_type () |
| virtual void | get_hpr (int frame, LVecBase3 &hpr) |
| Returns the h, p, and r components associated with the current frame. More... | |
| virtual void | get_pos (int frame, LVecBase3 &pos) |
| Returns the x, y, and z translation components associated with the current frame. More... | |
| virtual void | get_quat (int frame, LQuaternion &quat) |
| Returns the rotation component associated with the current frame, expressed as a quaternion. More... | |
| virtual void | get_scale (int frame, LVecBase3 &scale) |
| Gets the scale value at the indicated frame. More... | |
| virtual void | get_shear (int frame, LVecBase3 &shear) |
| Returns the a, b, and c shear components associated with the current frame. More... | |
| virtual TypeHandle | get_type () const |
| virtual void | get_value (int frame, LMatrix4 &mat) |
| Gets the value of the channel at the indicated frame. More... | |
| virtual void | get_value_no_scale_shear (int frame, LMatrix4 &value) |
| Gets the value of the channel at the indicated frame, without any scale or shear information. More... | |
| PandaNode * | get_value_node () const |
| const TransformState * | get_value_transform () const |
| Returns the explicit TransformState value that was set via set_value(), if any. More... | |
| 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(). More... | |
| void | set_value (const LMatrix4 &value) |
| Explicitly sets the matrix value. More... | |
| void | set_value (const TransformState *value) |
| Explicitly sets the matrix value, using the indicated TransformState object as a convenience. More... | |
| void | set_value_node (PandaNode *node) |
| virtual void | write_datagram (BamWriter *manager, Datagram &dg) |
| Function to write the important information in the particular object to a Datagram. More... | |
Public Member Functions inherited from AnimChannel< ACMatrixSwitchType > | |
| AnimChannel (AnimGroup *parent, const std::string &name) | |
| This is the normal constructor, which automatically places the AnimChannel in the previously-created hierarchy. More... | |
| virtual void | get_value (int frame, ValueType &value)=0 |
| virtual void | get_value_no_scale_shear (int frame, ValueType &value) |
| Returns the value associated with the current frame, with no scale or share components. More... | |
| virtual TypeHandle | get_value_type () const |
| Returns the TypeHandle associated with the ValueType we return. More... | |
Public Member Functions inherited from AnimChannelBase | |
| AnimChannelBase (AnimGroup *parent, const std::string &name) | |
| This is the normal constructor, which automatically places the AnimChannel in the previously-created hierarchy. More... | |
Public Member Functions inherited from AnimGroup | |
| AnimGroup (AnimGroup *parent, const std::string &name) | |
| Creates the AnimGroup, and adds it to the indicated parent. More... | |
| AnimGroup * | find_child (const std::string &name) const |
| Returns the first descendant found with the indicated name, or NULL if no such descendant exists. More... | |
| AnimGroup * | get_child (int n) const |
| AnimGroup * | get_child_named (const std::string &name) const |
| Returns the first child found with the indicated name, or NULL if no such child exists. More... | |
| int | get_num_children () const |
| virtual void | output (std::ostream &out) const |
| Writes a one-line description of the group. More... | |
| void | sort_descendants () |
| Sorts the children nodes at each level of the hierarchy into alphabetical order. More... | |
| virtual void | write (std::ostream &out, int indent_level) const |
| Writes a brief description of the group and all of its descendants. More... | |
Public Member Functions inherited from TypedWritableReferenceCount | |
| TypedWritableReferenceCount (const TypedWritableReferenceCount ©) | |
| virtual ReferenceCount * | as_reference_count () |
| Returns the pointer cast to a ReferenceCount pointer, if it is in fact of that type. More... | |
| void | operator= (const TypedWritableReferenceCount ©) |
Public Member Functions inherited from TypedWritable | |
| TypedWritable (const TypedWritable ©) | |
| vector_uchar | encode_to_bam_stream () const |
| Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. More... | |
| bool | encode_to_bam_stream (vector_uchar &data, BamWriter *writer=nullptr) const |
| Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. More... | |
| virtual void | finalize (BamReader *manager) |
| Called by the BamReader to perform any final actions needed for setting up the object after all objects have been read and all pointers have been completed. More... | |
| UpdateSeq | get_bam_modified () const |
| Returns the current bam_modified counter. More... | |
| void | mark_bam_modified () |
| Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. More... | |
| void | operator= (const TypedWritable ©) |
| virtual bool | require_fully_complete () const |
| Some objects require all of their nested pointers to have been completed before the objects themselves can be completed. More... | |
| virtual void | update_bam_nested (BamWriter *manager) |
| Called by the BamWriter when this object has not itself been modified recently, but it should check its nested objects for updates. More... | |
Public Member Functions inherited from TypedObject | |
| TypedObject (const TypedObject ©)=default | |
| TypedObject * | as_typed_object () |
| Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
| const TypedObject * | as_typed_object () const |
| Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
| int | get_best_parent_from_Set (const std::set< int > &) const |
| int | get_type_index () const |
| Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
| bool | is_exact_type (TypeHandle handle) const |
| Returns true if the current object is the indicated type exactly. More... | |
| bool | is_of_type (TypeHandle handle) const |
| Returns true if the current object is or derives from the indicated type. More... | |
| TypedObject & | operator= (const TypedObject ©)=default |
Public Member Functions inherited from ReferenceCount | |
| int | get_ref_count () const |
| WeakReferenceList * | get_weak_list () const |
| Returns the WeakReferenceList associated with this ReferenceCount object. More... | |
| bool | has_weak_list () const |
| Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More... | |
| void | local_object () |
| This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More... | |
| void | ref () const |
| Explicitly increments the reference count. More... | |
| bool | ref_if_nonzero () const |
| Atomically increases the reference count of this object if it is not zero. More... | |
| bool | test_ref_count_integrity () const |
| Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
| bool | test_ref_count_nonzero () const |
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
| virtual bool | unref () const |
| Explicitly decrements the reference count. More... | |
| WeakReferenceList * | weak_ref () |
| Adds the indicated PointerToVoid as a weak reference to this object. More... | |
| void | weak_unref () |
| Removes the indicated PointerToVoid as a weak reference to this object. More... | |
Public Member Functions inherited from Namable | |
| Namable (const std::string &initial_name="") | |
| void | clear_name () |
| Resets the Namable's name to empty. More... | |
| const std::string & | get_name () const |
| bool | has_name () const |
| Returns true if the Namable has a nonempty name set, false if the name is empty. More... | |
| void | output (std::ostream &out) const |
| Outputs the Namable. More... | |
| void | set_name (const std::string &name) |
Static Public Member Functions | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
| static TypedWritable * | make_AnimChannelMatrixDynamic (const FactoryParams ¶ms) |
| Factory method to generate an AnimChannelMatrixDynamic object. More... | |
| static void | register_with_read_factory () |
| Factory method to generate an AnimChannelMatrixDynamic object. More... | |
Static Public Member Functions inherited from AnimChannel< ACMatrixSwitchType > | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
Static Public Member Functions inherited from AnimChannelBase | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
Static Public Member Functions inherited from AnimGroup | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
| static TypedWritable * | make_AnimGroup (const FactoryParams ¶ms) |
| Factory method to generate a AnimGroup object. More... | |
| static void | register_with_read_factory () |
| Factory method to generate a AnimGroup object. More... | |
Static Public Member Functions inherited from TypedWritableReferenceCount | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
| static | PT (TypedWritableReferenceCount) decode_from_bam_stream(vector_uchar data |
Static Public Member Functions inherited from TypedWritable | |
| static bool | decode_raw_from_bam_stream (TypedWritable *&ptr, ReferenceCount *&ref_ptr, vector_uchar data, BamReader *reader=nullptr) |
| Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts the single object on those bytes. More... | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
Static Public Member Functions inherited from TypedObject | |
| 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. More... | |
Static Public Member Functions inherited from ReferenceCount | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
Static Public Member Functions inherited from Namable | |
| static TypeHandle | get_class_type () |
| static void | init_type () |
Public Attributes | |
| get_value_node | |
| Returns the node that was set via set_value_node(), if any. More... | |
| set_value_node | |
| Specifies a node whose transform will be queried each frame to implicitly specify the transform of this joint. More... | |
Public Attributes inherited from AnimGroup | |
| get_child | |
| Returns the nth child of the group. More... | |
| get_num_children | |
| Returns the number of child nodes of the group. More... | |
Public Attributes inherited from TypedWritableReferenceCount | |
| static BamReader * | reader = nullptr) |
Public Attributes inherited from TypedObject | |
| get_type | |
Public Attributes inherited from ReferenceCount | |
| get_ref_count | |
| Returns the current reference count. More... | |
Public Attributes inherited from Namable | |
| get_name | |
| set_name | |
Additional Inherited Members | |
Public Types inherited from AnimChannel< ACMatrixSwitchType > | |
| typedef ACMatrixSwitchType ::ValueType | ValueType |
Static Public Attributes inherited from TypedWritable | |
| static TypedWritable *const | Null = nullptr |
An animation channel that accepts a matrix each frame from some dynamic input provided by code.
This object operates in two modes: in explicit mode, the programmer should call set_value() each frame to indicate the new value; in implicit mode, the programmer should call set_value_node() to indicate the node whose transform will be copied to the joint each frame.
Definition at line 33 of file animChannelMatrixDynamic.h.
|
virtual |
Receives an array of pointers, one for each time manager->read_pointer() was called in fillin().
Returns the number of pointers processed.
Reimplemented from AnimGroup.
Definition at line 221 of file animChannelMatrixDynamic.cxx.
|
virtual |
Function that reads out of the datagram (or asks manager to read) all of the data that is needed to re-create this object and stores it in the appropiate place.
Reimplemented from AnimChannelBase.
Definition at line 237 of file animChannelMatrixDynamic.cxx.
References BamReader::read_pointer().
Referenced by make_AnimChannelMatrixDynamic().
|
virtual |
Returns the h, p, and r components associated with the current frame.
As above, this only makes sense for a matrix-type channel.
Reimplemented from AnimChannel< ACMatrixSwitchType >.
Definition at line 119 of file animChannelMatrixDynamic.cxx.
|
virtual |
Returns the x, y, and z translation components associated with the current frame.
As above, this only makes sense for a matrix-type channel.
Reimplemented from AnimChannel< ACMatrixSwitchType >.
Definition at line 144 of file animChannelMatrixDynamic.cxx.
|
virtual |
Returns the rotation component associated with the current frame, expressed as a quaternion.
As above, this only makes sense for a matrix-type channel.
Reimplemented from AnimChannel< ACMatrixSwitchType >.
Definition at line 132 of file animChannelMatrixDynamic.cxx.
|
virtual |
Gets the scale value at the indicated frame.
Reimplemented from AnimChannel< ACMatrixSwitchType >.
Definition at line 107 of file animChannelMatrixDynamic.cxx.
|
virtual |
Returns the a, b, and c shear components associated with the current frame.
As above, this only makes sense for a matrix-type channel.
Reimplemented from AnimChannel< ACMatrixSwitchType >.
Definition at line 156 of file animChannelMatrixDynamic.cxx.
|
virtual |
Gets the value of the channel at the indicated frame.
Definition at line 79 of file animChannelMatrixDynamic.cxx.
|
virtual |
Gets the value of the channel at the indicated frame, without any scale or shear information.
Definition at line 91 of file animChannelMatrixDynamic.cxx.
|
inline |
Returns the explicit TransformState value that was set via set_value(), if any.
Definition at line 19 of file animChannelMatrixDynamic.I.
|
virtual |
Returns true if the value has changed since the last call to has_changed().
last_frame is the frame number of the last call; this_frame is the current frame number.
Reimplemented from AnimChannelBase.
Definition at line 66 of file animChannelMatrixDynamic.cxx.
|
static |
Factory method to generate an AnimChannelMatrixDynamic object.
Definition at line 249 of file animChannelMatrixDynamic.cxx.
References fillin(), and parse_params().
Referenced by register_with_read_factory().
|
static |
Factory method to generate an AnimChannelMatrixDynamic object.
Definition at line 263 of file animChannelMatrixDynamic.cxx.
References BamReader::get_factory(), make_AnimChannelMatrixDynamic(), and Factory< Type >::register_factory().
| void AnimChannelMatrixDynamic::set_value | ( | const LMatrix4 & | value | ) |
Explicitly sets the matrix value.
Definition at line 167 of file animChannelMatrixDynamic.cxx.
| void AnimChannelMatrixDynamic::set_value | ( | const TransformState * | value | ) |
Explicitly sets the matrix value, using the indicated TransformState object as a convenience.
Definition at line 177 of file animChannelMatrixDynamic.cxx.
Function to write the important information in the particular object to a Datagram.
Reimplemented from AnimChannelBase.
Definition at line 210 of file animChannelMatrixDynamic.cxx.
References AnimChannelBase::write_datagram(), and BamWriter::write_pointer().
|
inline |
Returns the node that was set via set_value_node(), if any.
Definition at line 60 of file animChannelMatrixDynamic.h.
| void AnimChannelMatrixDynamic::set_value_node |
Specifies a node whose transform will be queried each frame to implicitly specify the transform of this joint.
Definition at line 60 of file animChannelMatrixDynamic.h.
Referenced by MovingPartMatrix::apply_control().
1.8.15