18 #include "pandabase.h"
21 #include "typedObject.h"
22 #include "typedWritableReferenceCount.h"
23 #include "pointerTo.h"
24 #include "bamReader.h"
25 #include "bamWriter.h"
39 virtual ~ParamValueBase();
40 INLINE
virtual TypeHandle get_value_type()
const;
41 virtual void output(ostream &out)
const=0;
45 return get_class_type();
47 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
51 static void init_type() {
52 TypedWritableReferenceCount::init_type();
53 register_type(_type_handle,
"ParamValueBase",
54 TypedWritableReferenceCount::get_class_type());
70 virtual ~ParamTypedRefCount();
75 virtual void output(ostream &out)
const;
82 return get_class_type();
84 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
88 static void init_type() {
89 ParamValueBase::init_type();
90 register_type(_type_handle,
"ParamTypedRefCount",
91 ParamValueBase::get_class_type());
114 INLINE ParamValue(
const Type &value);
115 INLINE
virtual ~ParamValue();
118 INLINE
void set_value(
const Type &value);
121 INLINE
virtual void output(ostream &out)
const;
138 static void init_type(
const string &type_name =
"UndefinedParamValue") {
139 ParamValueBase::init_type();
140 _type_handle = register_dynamic_type
141 (type_name, ParamValueBase::get_class_type());
144 return get_class_type();
149 return get_class_type();
198 #ifdef STDFLOAT_DOUBLE
214 #include "paramValue.I"
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
void set_value(const Type &value)
Changes the value stored in the parameter.
A class object for storing specifically objects of type TypedReferenceCount, which is different than ...
Base class for objects that can be written to and read from Bam files.
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
A handy class object for storing simple values (like integers or strings) passed along with an Event ...
virtual TypeHandle get_value_type() const
Retrieves the type of the value stored in the parameter.
A non-template base class of ParamValue (below), which serves mainly to define the placeholder for th...
An instance of this class is passed to the Factory when requesting it to do its business and construc...
A base class for things which need to inherit from both TypedWritable and from ReferenceCount.
const Type & get_value() const
Retrieves the value stored in the parameter.
static void register_with_read_factory()
Tells the BamReader how to create objects of type ParamValue.
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 TypeHandle get_value_type() const
Returns the type of the underlying value.