A node in the scene graph that can hold an occluder polygon, which must be a rectangle.
More...
Public Member Functions |
|
| OccluderNode (const 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().
|
| virtual bool | cull_callback (CullTraverser *trav, CullTraverserData &data) |
| | This function will be called during the cull traversal to perform any additional operations that should be performed at cull time.
|
|
virtual TypeHandle | force_init_type () |
| PN_stdfloat | get_min_coverage () |
| | Returns the minimum screen coverage.
|
| int | get_num_vertices () const |
| | Returns the number of vertices in the occluder polygon.
|
|
virtual TypeHandle | get_type () const |
| const LPoint3 & | get_vertex (int n) const |
| | Returns the nth vertex of the occluder polygon.
|
| bool | is_double_sided () |
| | Is this occluder double-sided.
|
| virtual bool | is_renderable () const |
| | Returns true if there is some value to visiting this particular node during the cull traversal for any camera, false otherwise.
|
| virtual PandaNode * | make_copy () const |
| | Returns a newly-allocated Node that is a shallow copy of this one.
|
|
| MAKE_SEQ (get_vertices, get_num_vertices, get_vertex) |
| virtual void | output (ostream &out) const |
| | Writes a brief description of the node to the indicated output stream.
|
| virtual bool | preserve_name () const |
| | Returns true if the node's name has extrinsic meaning and must be preserved across a flatten operation, false otherwise.
|
| void | set_double_sided (bool value) |
| | If true, the back-face will also be used to occlude.
|
| void | set_min_coverage (PN_stdfloat value) |
| | Minimum screen coverage needed before occluder used.
|
| void | set_vertices (const LPoint3 &v0, const LPoint3 &v1, const LPoint3 &v2, const LPoint3 &v3) |
| | Replaces the four vertices of the occluder polygon.
|
| virtual void | write_datagram (BamWriter *manager, Datagram &dg) |
| | Writes the contents of this object to the datagram for shipping out to a Bam file.
|
| virtual void | xform (const LMatrix4 &mat) |
| | Transforms the contents of this node by the indicated matrix, if it means anything to do so.
|
Static Public Member Functions |
|
static TypeHandle | get_class_type () |
|
static void | init_type () |
| static void | register_with_read_factory () |
| | Tells the BamReader how to create objects of type OccluderNode.
|
Protected Member Functions |
|
| OccluderNode (const OccluderNode ©) |
| virtual void | compute_internal_bounds (CPT(BoundingVolume)&internal_bounds, int &internal_vertices, int pipeline_stage, Thread *current_thread) const |
| | Called when needed to recompute the node's _internal_bound object.
|
|
| CPT (RenderState) get_occluder_viz_state(CullTraverser *trav |
|
| CPT (RenderState) get_frame_viz_state(CullTraverser *trav |
| void | fillin (DatagramIterator &scan, BamReader *manager) |
| | This internal function is called by make_from_bam to read in all of the relevant data from the BamFile for the new OccluderNode.
|
|
| PT (Geom) get_occluder_viz(CullTraverser *trav |
Static Protected Member Functions |
| static TypedWritable * | make_from_bam (const FactoryParams ¶ms) |
| | This function is called by the BamReader's factory when a new object of type OccluderNode is encountered in the Bam file.
|
Protected Attributes |
|
CullTraverserData & | data |
A node in the scene graph that can hold an occluder polygon, which must be a rectangle.
When the occluder is activated with something like render.set_occluder(), then objects whose bouding volume lies entirely behind the occluder will not be rendered.
Definition at line 35 of file occluderNode.h.