18 #include "pandabase.h"
21 #include "perspectiveLens.h"
23 #include "weakNodePath.h"
25 #include "renderState.h"
26 #include "pointerTo.h"
28 #include "auxSceneData.h"
29 #include "displayRegionBase.h"
50 INLINE
void set_active(
bool active);
51 INLINE
bool is_active()
const;
53 INLINE
void set_scene(
const NodePath &scene);
54 INLINE
const NodePath &get_scene()
const;
56 INLINE
int get_num_display_regions()
const;
58 MAKE_SEQ(get_display_regions, get_num_display_regions, get_display_region);
60 INLINE
void set_camera_mask(
DrawMask mask);
61 INLINE
DrawMask get_camera_mask()
const;
63 INLINE
void set_cull_center(
const NodePath &cull_center);
64 INLINE
const NodePath &get_cull_center()
const;
69 INLINE
void set_lod_center(
const NodePath &lod_center);
70 INLINE
const NodePath &get_lod_center()
const;
72 INLINE
void set_initial_state(
const RenderState *state);
75 INLINE
void set_tag_state_key(
const string &tag_state_key);
76 INLINE
const string &get_tag_state_key()
const;
78 INLINE
void set_lod_scale(PN_stdfloat value);
79 INLINE PN_stdfloat get_lod_scale()
const;
81 void set_tag_state(
const string &tag_state,
const RenderState *state);
82 void clear_tag_state(
const string &tag_state);
83 bool has_tag_state(
const string &tag_state)
const;
84 CPT(
RenderState) get_tag_state(
const string &tag_state)
const;
87 bool clear_aux_scene_data(
const NodePath &node_path);
89 void list_aux_scene_data(ostream &out)
const;
103 PN_stdfloat _lod_scale;
109 string _tag_state_key;
129 static void init_type() {
130 LensNode::init_type();
131 register_type(_type_handle,
"Camera",
132 LensNode::get_class_type());
135 return get_class_type();
137 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
This is a base class for a generic data structure that can be attached per-instance to the camera...
A basic node of the scene graph or data graph.
A base class for any number of different kinds of lenses, linear and otherwise.
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.
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
static Thread * get_current_thread()
Returns a pointer to the currently-executing Thread object.
This is an abstract class for any volume in any sense which can be said to define the locality of ref...
static void register_with_read_factory()
Tells the BamReader how to create objects of type LensNode.
virtual bool safe_to_transform() const
Returns true if it is generally safe to transform this particular kind of PandaNode by calling the xf...
A perspective-type lens: a normal camera.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
virtual PandaNode * make_copy() const
Returns a newly-allocated Node that is a shallow copy of this one.
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
A thread; that is, a lightweight process.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
A rectangular subregion within a window for rendering into.
An abstract base class for DisplayRegion, mainly so we can store DisplayRegion pointers in a Camera...
A class to retrieve the individual data elements previously stored in a Datagram. ...
TypeHandle is the identifier used to differentiate C++ class types.
A node that can be positioned around in the scene graph to represent a point of view for rendering a ...
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
virtual bool safe_to_flatten() const
Returns true if it is generally safe to flatten out this particular kind of PandaNode by duplicating ...