18 #include "pandabase.h"
20 #include "movingPartBase.h"
21 #include "animChannel.h"
29 template<
class SwitchType>
32 typedef TYPENAME SwitchType::ValueType ValueType;
39 INLINE MovingPart(
PartGroup *parent,
const string &name,
40 const ValueType &default_value);
47 ValueType _default_value;
58 return get_class_type();
60 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
65 INLINE ValueType get_value()
const {
68 INLINE ValueType get_default_value()
const {
69 return _default_value;
72 static void init_type() {
73 MovingPartBase::init_type();
74 register_type(_type_handle, SwitchType::get_part_type_name(),
75 MovingPartBase::get_class_type());
82 #include "movingPart.I"
virtual void output_value(ostream &out) const
Outputs a very brief description of the channel's current value.
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
This is the template instantiation of MovingPartBase, on the particular type of value provided by the...
This is the base class for a single animatable piece that may be bound to one channel (or more...
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
This template class is the parent class for all kinds of AnimChannels that return different values...
virtual void write_datagram(BamWriter *manager, Datagram &me)
Function to write the important information in the particular object to a Datagram.
Parent class for all animation channels.
virtual TypeHandle get_value_type() const
Returns the TypeHandle associated with the ValueType we are concerned with.
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 AnimChannelBase * make_default_channel() const
Creates and returns a new AnimChannel that is not part of any hierarchy, but that returns the default...
This is the base class for PartRoot and MovingPart.