Public Member Functions
||SheetNode (const string &name)|
|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 ()|
|int ||get_num_u_subdiv () const |
| ||Returns the number of subdivisions per cubic segment to draw in the U direction. |
|int ||get_num_v_subdiv () const |
| ||Returns the number of subdivisions per cubic segment to draw in the V direction. |
|NurbsSurfaceEvaluator * ||get_surface () const |
| ||Returns the surface represented by the SheetNode. |
virtual TypeHandle ||get_type () const |
|bool ||get_use_vertex_color () const |
| ||Returns the "use vertex color" flag. |
|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. |
|virtual void ||output (ostream &out) const |
| ||Outputs the Namable. |
|void ||reset_bound (const NodePath &rel_to)|
| ||Recomputes the bounding volume. |
|virtual bool ||safe_to_transform () const |
| ||Returns true if it is generally safe to transform this particular kind of Node by calling the xform() method, false otherwise. |
|void ||set_num_u_subdiv (int num_u_subdiv)|
| ||Specifies the number of subdivisions per cubic segment (that is, per unique knot value) to draw in a fixed uniform tesselation of the surface in the U direction. |
|void ||set_num_v_subdiv (int num_v_subdiv)|
| ||Specifies the number of subdivisions per cubic segment (that is, per unique knot value) to draw in a fixed uniform tesselation of the surface in the V direction. |
|void ||set_surface (NurbsSurfaceEvaluator *surface)|
| ||Sets the particular surface represented by the SheetNode. |
|void ||set_use_vertex_color (bool flag)|
| ||Sets the "use vertex color" flag. |
virtual void ||write (ostream &out, int indent_level=0) 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 TypeHandle ||get_class_type ()|
static void ||init_type ()|
|static void ||register_with_read_factory ()|
| ||Tells the BamReader how to create objects of type SheetNode. |
This class draws a visible representation of the NURBS surface stored in its NurbsSurfaceEvaluator.
It automatically recomputes the surface every frame.
This is not related to NurbsSurface, CubicSurfaceseg or any of the ParametricSurface-derived objects in this module. It is a completely parallel implementation of NURBS surfaces, and will probably eventually replace the whole ParametricSurface class hierarchy.
Definition at line 36 of file sheetNode.h.
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.
Note that this function will *not* be called unless set_cull_callback() is called in the constructor of the derived class. It is necessary to call set_cull_callback() to indicated that we require cull_callback() to be called.
By the time this function is called, the node has already passed the bounding-volume test for the viewing frustum, and the node's transform and state have already been applied to the indicated CullTraverserData object.
The return value is true if this node should be visible, or false if it should be culled.
Reimplemented from PandaNode.
Definition at line 149 of file sheetNode.cxx.
References WorkingNodePath::get_node_path(), get_num_u_subdiv(), get_num_v_subdiv(), and get_surface().
Sets the "use vertex color" flag.
When this is true, the R, G, B, A vertex color is assumed to be stored as the dimensions 0, 1, 2, 3, respectively, of the extended vertex values. Use NurbsCurveEvaluator::set_extended_vertex() to set these values.
Definition at line 77 of file sheetNode.I.