|
|
|
This provides a higher-level wrapper around ScissorAttrib.
More...
#include "scissorEffect.h"
List of all members.
Classes |
| class | PointDef |
Public Member Functions |
|
| CPT (RenderEffect) add_point(const LPoint3 &point |
|
virtual | CPT (RenderEffect) xform(const LMatrix4 &mat) const |
| virtual void | cull_callback (CullTraverser *trav, CullTraverserData &data, CPT(TransformState)&node_transform, CPT(RenderState)&node_state) const |
| | If has_cull_callback() returns true, 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 () |
| bool | get_clip () const |
| | Returns true if this ScissorEffect actually enables scissoring, or false if it culls only.
|
| const LVecBase4 & | get_frame () const |
| | If is_screen() returns true, this method may be called to query the screen-based scissor frame.
|
| NodePath | get_node (int n) const |
| | Returns the node to which the nth point is relative, or empty NodePath to indicate the current node.
|
| int | get_num_points () const |
| | Returns the number of node-based scissor points.
|
| const LPoint3 & | get_point (int n) const |
| | If is_screen() returns false, then get_num_points() and get_point() may be called to query the node-based scissor frame.
|
|
virtual TypeHandle | get_type () const |
| virtual bool | has_cull_callback () const |
| | Should be overridden by derived classes to return true if cull_callback() has been defined.
|
| bool | is_screen () const |
| | Returns true if the ScissorEffect is a screen-based effect, meaning get_frame() has a meaningful value, but get_a() and get_b() do not.
|
|
| MAKE_SEQ (get_points, get_num_points, get_point) |
|
| MAKE_SEQ (get_nodes, get_num_points, get_node) |
|
virtual void | output (ostream &out) const |
| virtual void | write_datagram (BamWriter *manager, Datagram &dg) |
| | Writes the contents of this object to the datagram for shipping out to a Bam file.
|
Static Public Member Functions |
|
static | CPT (RenderEffect) make_screen(const LVecBase4 &frame |
|
static | CPT (RenderEffect) make_node(bool clip |
|
static | CPT (RenderEffect) make_node(const LPoint3 &a |
|
static | CPT (RenderEffect) make_node(const LPoint3 &a |
|
static TypeHandle | get_class_type () |
|
static void | init_type () |
| static void | register_with_read_factory () |
| | Tells the BamReader how to create objects of type ScissorEffect.
|
Public Attributes |
|
static const LPoint3 & | b |
static const LPoint3 const
LPoint3 & | c |
|
static bool | clip = true) |
static const LPoint3 const
LPoint3 const LPoint3 & | d |
|
const NodePath & | node = NodePath()) const |
static const LPoint3 const
NodePath & | node = NodePath()) |
static const LPoint3 const
LPoint3 const LPoint3 const
NodePath & | node = NodePath()) |
Protected Member Functions |
| virtual int | compare_to_impl (const RenderEffect *other) const |
| | Intended to be overridden by derived ScissorEffect types to return a unique number indicating whether this ScissorEffect is equivalent to the other one.
|
| 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 ScissorEffect.
|
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 ScissorEffect is encountered in the Bam file.
|
Detailed Description
This provides a higher-level wrapper around ScissorAttrib.
It allows for the scissor region to be defined via points relative to the current node, and also performs culling based on the scissor region.
Definition at line 32 of file scissorEffect.h.
Member Function Documentation
| int ScissorEffect::compare_to_impl |
( |
const RenderEffect * |
other | ) |
const [protected, virtual] |
Intended to be overridden by derived ScissorEffect types to return a unique number indicating whether this ScissorEffect is equivalent to the other one.
This should return 0 if the two ScissorEffect objects are equivalent, a number less than zero if this one should be sorted before the other one, and a number greater than zero otherwise.
This will only be called with two ScissorEffect objects whose get_type() functions return the same.
Reimplemented from RenderEffect.
Definition at line 333 of file scissorEffect.cxx.
References LVecBase4f::compare_to().
If has_cull_callback() returns true, this function will be called during the cull traversal to perform any additional operations that should be performed at cull time.
This may include additional manipulation of render state or additional visible/invisible decisions, or any other arbitrary operation.
At the time this function is called, the current node's transform and state have not yet been applied to the net_transform and net_state. This callback may modify the node_transform and node_state to apply an effective change to the render state at this level.
Reimplemented from RenderEffect.
Definition at line 237 of file scissorEffect.cxx.
References SceneSetup::get_lens(), Lens::get_projection_mat(), CullTraverser::get_scene(), and is_screen().
| bool ScissorEffect::get_clip |
( |
| ) |
const [inline] |
| const LVecBase4 & ScissorEffect::get_frame |
( |
| ) |
const [inline] |
If is_screen() returns true, this method may be called to query the screen-based scissor frame.
This is a series of left, right, bottom, top, representing the scissor frame relative to the current DisplayRegion. See ScissorAttrib.
Definition at line 38 of file scissorEffect.I.
| NodePath ScissorEffect::get_node |
( |
int |
n | ) |
const [inline] |
Returns the node to which the nth point is relative, or empty NodePath to indicate the current node.
Definition at line 76 of file scissorEffect.I.
| int ScissorEffect::get_num_points |
( |
| ) |
const [inline] |
| const LPoint3 & ScissorEffect::get_point |
( |
int |
n | ) |
const [inline] |
| bool ScissorEffect::has_cull_callback |
( |
| ) |
const [virtual] |
| bool ScissorEffect::is_screen |
( |
| ) |
const [inline] |
| void ScissorEffect::register_with_read_factory |
( |
| ) |
[static] |
The documentation for this class was generated from the following files:
| | |