18 #include "pandabase.h"
20 #include "pandaNode.h"
22 #include "perspectiveLens.h"
23 #include "pointerTo.h"
39 virtual void output(ostream &out)
const;
40 virtual void write(ostream &out,
int indent_level = 0)
const;
46 INLINE
void copy_lens(
const Lens &lens);
47 INLINE
void copy_lens(
int index,
const Lens &lens);
48 INLINE
void set_lens(
Lens *lens);
49 void set_lens(
int index,
Lens *lens);
50 INLINE
Lens *get_lens(
int index = 0)
const;
52 bool set_lens_active(
int index,
bool active);
53 INLINE
bool get_lens_active(
int index)
const;
55 INLINE
bool activate_lens(
int index);
56 INLINE
bool deactivate_lens(
int index);
58 INLINE
bool is_in_view(
const LPoint3 &pos);
59 bool is_in_view(
int index,
const LPoint3 &pos);
90 static void init_type() {
91 PandaNode::init_type();
92 register_type(_type_handle,
"LensNode",
93 PandaNode::get_class_type());
96 return get_class_type();
98 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
104 #include "lensNode.I"
A basic node of the scene graph or data graph.
A base class for any number of different kinds of lenses, linear and otherwise.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
A node that contains a Lens.
Base class for objects that can be written to and read from Bam files.
virtual PandaNode * make_copy() const
Returns a newly-allocated PandaNode that is a shallow copy of this one.
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
This is our own Panda specialization on the default STL list.
static void register_with_read_factory()
Tells the BamReader how to create objects of type PandaNode.
virtual void xform(const LMatrix4 &mat)
Transforms the contents of this PandaNode by the indicated matrix, if it means anything to do so...
virtual int complete_pointers(TypedWritable **p_list, BamReader *manager)
Receives an array of pointers, one for each time manager->read_pointer() was called in fillin()...
This is a 4-by-4 transform matrix.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
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 ...