Panda3D
|
This class draws a visible representation of the NURBS curve stored in its NurbsCurveEvaluator. More...
#include <pandadoc.hpp>
Public Types | |
enum | NormalMode { NM_none = 0 , NM_vertex = 1 } |
enum | RenderMode { RM_thread = 0 , RM_tape = 1 , RM_billboard = 2 , RM_tube = 3 } |
enum | UVMode { UV_none = 0 , UV_parametric = 1 , UV_distance = 2 , UV_distance2 = 3 } |
![]() | |
enum | FancyBits { FB_transform = 1 , FB_state = 2 , FB_effects = 4 , FB_tag = 16 , FB_draw_mask = 32 , FB_cull_callback = 64 } |
enum | UnexpectedChange { UC_parents = 1 , UC_children = 2 , UC_transform = 4 , UC_state = 8 , UC_draw_mask = 16 } |
Public Member Functions | |
__init__ (str name) | |
clearMatrix () | |
Resets the node's matrix to identity. More... | |
NurbsCurveEvaluator | getCurve () |
Returns the curve represented by the RopeNode. More... | |
const LMatrix4 | getMatrix () |
Returns the optional matrix which is used to transform each control vertex after it has been transformed into the RopeNode's coordinate space, but before the polygon vertices are generated. More... | |
RopeNode::NormalMode | getNormalMode () |
Returns the kind of normals to generate for the rope. More... | |
int | getNumSlices () |
Returns the number of radial subdivisions to make if RenderMode is RM_tube. More... | |
int | getNumSubdiv () |
Returns the number of subdivisions per cubic segment to draw. More... | |
RopeNode::RenderMode | getRenderMode () |
Returns the method used to render the rope. More... | |
float | getThickness () |
Returns the thickness of the rope. More... | |
const LVector3 | getTubeUp () |
Returns the normal vector used to control the "top" of the curve, when RenderMode is RM_tube. More... | |
bool | getUseVertexColor () |
Returns the "use vertex color" flag. More... | |
bool | getUseVertexThickness () |
Returns the "use vertex thickness" flag. More... | |
bool | getUvDirection () |
Returns true if the rope runs down the U coordinate of the texture, or false if it runs down the V coordinate. More... | |
RopeNode::UVMode | getUvMode () |
Returns the algorithm to use to generate UV's for the rope. More... | |
float | getUvScale () |
Returns the scaling factor to apply to generated UV's for the rope. More... | |
bool | hasMatrix () |
Returns true if the node has a matrix set, false otherwise. More... | |
resetBound (const NodePath rel_to) | |
Recomputes the bounding volume. More... | |
setCurve (NurbsCurveEvaluator curve) | |
Sets the particular curve represented by the RopeNode. More... | |
setMatrix (const LMatrix4 matrix) | |
Specifies an optional matrix which is used to transform each control vertex after it has been transformed into the RopeNode's coordinate space, but before the polygon vertices are generated. More... | |
setNormalMode (RopeNode::NormalMode normal_mode) | |
Specifies the kind of normals to generate for the rope. More... | |
setNumSlices (int num_slices) | |
Specifies the number of radial subdivisions to make if RenderMode is RM_tube. More... | |
setNumSubdiv (int num_subdiv) | |
Specifies the number of subdivisions per cubic segment (that is, per unique knot value) to draw in a fixed uniform tesselation of the curve. More... | |
setRenderMode (RopeNode::RenderMode render_mode) | |
Specifies the method used to render the rope. More... | |
setThickness (float thickness) | |
Specifies the thickness of the rope, in pixels or in spatial units, depending on the render mode. More... | |
setTubeUp (const LVector3 tube_up) | |
Specifies a normal vector, generally perpendicular to the main axis of the starting point of the curve, that controls the "top" of the curve, when RenderMode is RM_tube. More... | |
setUseVertexColor (bool flag) | |
Sets the "use vertex color" flag. More... | |
setUseVertexThickness (bool flag) | |
Sets the "use vertex thickness" flag. More... | |
setUvDirection (bool u_dominant) | |
Specify true to vary the U coordinate down the length of the rope, or false to vary the V coordinate. More... | |
setUvMode (RopeNode::UVMode uv_mode) | |
Specifies the algorithm to use to generate UV's for the rope. More... | |
setUvScale (float scale) | |
Specifies an additional scaling factor to apply to generated UV's along the rope. More... | |
![]() | |
PandaNode | __copy__ () |
object | __deepcopy__ (object memo) |
__init__ (str name) | |
int | __traverse__ (Visitproc visit, void arg) |
addChild (PandaNode child_node, int sort, Thread current_thread) | |
Adds a new child to the node. More... | |
addStashed (PandaNode child_node, int sort, Thread current_thread) | |
Adds a new child to the node, directly as a stashed child. More... | |
adjustDrawMask (DrawMask show_mask, DrawMask hide_mask, DrawMask clear_mask) | |
Adjusts the hide/show bits of this particular node. More... | |
Light | asLight () |
Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not. More... | |
clearAttrib (int slot) | |
Removes the render attribute of the given type from this node. More... | |
clearAttrib (TypeHandle type) | |
Removes the render attribute of the given type from this node. More... | |
clearBounds () | |
Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node. More... | |
clearEffect (TypeHandle type) | |
Removes the render effect of the given type from this node. More... | |
clearEffects (Thread current_thread) | |
Resets this node to have no render effects. More... | |
clearPythonTag (object key) | |
clearState (Thread current_thread) | |
Resets this node to leave the render state alone. More... | |
clearTag (str key, Thread current_thread) | |
Removes the value defined for this key on this particular node. More... | |
clearTransform (Thread current_thread) | |
Resets the transform on this node to the identity transform. More... | |
clearUnexpectedChange (unsigned int flags) | |
Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. More... | |
PandaNode | combineWith (PandaNode other) |
Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined. More... | |
int | compareTags (const PandaNode other) |
Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. More... | |
copyAllProperties (PandaNode other) | |
Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. More... | |
copyChildren (PandaNode other, Thread current_thread) | |
Makes another instance of all the children of the other node, copying them to this node. More... | |
PandaNode | copySubgraph (Thread current_thread) |
Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. More... | |
copyTags (PandaNode other) | |
Copies all of the tags stored on the other node onto this node. More... | |
int | countNumDescendants () |
Returns the number of nodes at and below this level. More... | |
int | findChild (PandaNode node, Thread current_thread) |
Returns the index of the indicated child node, if it is a child, or -1 if it is not. More... | |
int | findParent (PandaNode node, Thread current_thread) |
Returns the index of the indicated parent node, if it is a parent, or -1 if it is not. More... | |
int | findStashed (PandaNode node, Thread current_thread) |
Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not. More... | |
const RenderAttrib | getAttrib (int slot) |
Returns the render attribute of the indicated type, if it is defined on the node, or NULL if it is not. More... | |
const RenderAttrib | getAttrib (TypeHandle type) |
Returns the render attribute of the indicated type, if it is defined on the node, or NULL if it is not. More... | |
const BoundingVolume | getBounds (Thread current_thread) |
Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes. More... | |
const BoundingVolume | getBounds (UpdateSeq seq, Thread current_thread) |
This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. More... | |
BoundingVolume::BoundsType | getBoundsType () |
Returns the bounding volume type set with set_bounds_type(). More... | |
PandaNode | getChild (int n, Thread current_thread) |
Returns the nth child node of this node. More... | |
list | getChildren () |
int | getChildSort (int n, Thread current_thread) |
Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). More... | |
DrawMask | getDrawControlMask () |
Returns the set of bits in draw_show_mask that are considered meaningful. More... | |
DrawMask | getDrawShowMask () |
Returns the hide/show bits of this particular node. More... | |
const RenderEffect | getEffect (TypeHandle type) |
Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not. More... | |
const RenderEffects | getEffects (Thread current_thread) |
Returns the complete RenderEffects that will be applied to this node. More... | |
int | getFancyBits (Thread current_thread) |
Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. More... | |
const BoundingVolume | getInternalBounds (Thread current_thread) |
Returns the node's internal bounding volume. More... | |
int | getInternalVertices (Thread current_thread) |
Returns the total number of vertices that will be rendered by this particular node alone, not accounting for its children. More... | |
CollideMask | getIntoCollideMask () |
Returns the "into" collide mask for this node. More... | |
CollideMask | getLegalCollideMask () |
Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. More... | |
int | getNestedVertices (Thread current_thread) |
Returns the total number of vertices that will be rendered by this node and all of its descendents. More... | |
CollideMask | getNetCollideMask (Thread current_thread) |
Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below. More... | |
DrawMask | getNetDrawControlMask () |
Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited. More... | |
DrawMask | getNetDrawShowMask () |
Returns the union of all draw_show_mask values–of renderable nodes only– at this level and below. More... | |
int | getNumChildren (Thread current_thread) |
Returns the number of child nodes this node has. More... | |
int | getNumParents (Thread current_thread) |
Returns the number of parent nodes this node has. More... | |
int | getNumStashed (Thread current_thread) |
Returns the number of stashed nodes this node has. More... | |
const RenderAttrib | getOffClipPlanes (Thread current_thread) |
Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned off at this level and below. More... | |
PandaNode | getParent (int n, Thread current_thread) |
Returns the nth parent node of this node. More... | |
list | getParents () |
const TransformState | getPrevTransform (Thread current_thread) |
Returns the transform that has been set as this node's "previous" position. More... | |
object | getPythonTag (object key) |
object | getPythonTagKeys () |
object | getPythonTags () |
list | getStashed () |
PandaNode | getStashed (int n, Thread current_thread) |
Returns the nth stashed child of this node. More... | |
PandaNode::Stashed | getStashed (Thread current_thread) |
Returns an object that can be used to walk through the list of children of the node. More... | |
int | getStashedSort (int n, Thread current_thread) |
Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). More... | |
const RenderState | getState (Thread current_thread) |
Returns the complete RenderState that will be applied to all nodes at this level and below, as set on this node. More... | |
str | getTag (str key, Thread current_thread) |
Retrieves the user-defined value that was previously set on this node for the particular key, if any. More... | |
object | getTagKeys () |
const TransformState | getTransform (Thread current_thread) |
Returns the transform that has been set on this particular node. More... | |
unsigned int | getUnexpectedChange (unsigned int flags) |
Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More... | |
bool | hasAttrib (int slot) |
Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not. More... | |
bool | hasAttrib (TypeHandle type) |
Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not. More... | |
bool | hasDirtyPrevTransform () |
Returns true if this node has the _dirty_prev_transform flag set, which indicates its _prev_transform is different from its _transform value (in pipeline stage 0). More... | |
bool | hasEffect (TypeHandle type) |
Returns true if there is a render effect of the indicated type defined on this node, or false if there is not. More... | |
bool | hasPythonTag (object key) |
bool | hasTag (str key, Thread current_thread) |
Returns true if a value has been defined on this node for the particular key (even if that value is the empty string), or false if no value has been set. More... | |
bool | hasTags () |
Returns true if the node has any tags (or any Python tags) at all, false if it has none. More... | |
bool | isAmbientLight () |
Returns true if this is an AmbientLight, false if it is not a light, or it is some other kind of light. More... | |
bool | isBoundsStale () |
Returns true if the bounding volume of this node is stale and will be implicitly recomputed at the next call to get_bounds(), or false if it is fresh and need not be recomputed. More... | |
bool | isCollisionNode () |
A simple downcast check. More... | |
bool | isFinal (Thread current_thread) |
Returns the current state of the "final" flag. More... | |
bool | isGeomNode () |
A simple downcast check. More... | |
bool | isLodNode () |
A simple downcast check. More... | |
bool | isOverallHidden () |
Returns true if the node has been hidden to all cameras by clearing its overall bit. More... | |
bool | isSceneRoot () |
Returns true if this particular node is known to be the render root of some active DisplayRegion associated with the global GraphicsEngine, false otherwise. More... | |
bool | isUnderSceneRoot () |
Returns true if this particular node is in a live scene graph: that is, it is a child or descendent of a node that is itself a scene root. More... | |
listTags (Ostream out, str separator) | |
Writes a list of all the tag keys assigned to the node to the indicated stream. More... | |
ls (Ostream out, int indent_level) | |
Lists all the nodes at and below the current path hierarchically. More... | |
PandaNode | makeCopy () |
Returns a newly-allocated PandaNode that is a shallow copy of this one. More... | |
markBoundsStale (Thread current_thread) | |
Indicates that the bounding volume, or something that influences the bounding volume (or any of the other things stored in CData, like net_collide_mask), may have changed for this node, and that it must be recomputed. More... | |
markInternalBoundsStale (Thread current_thread) | |
Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested. More... | |
output (Ostream out) | |
prepareScene (GraphicsStateGuardianBase gsg, const RenderState node_state) | |
Walks through the scene graph beginning at this node, and does whatever initialization is required to render the scene properly with the indicated GSG. More... | |
removeAllChildren (Thread current_thread) | |
Removes all the children from the node at once, including stashed children. More... | |
removeChild (int child_index, Thread current_thread) | |
Removes the nth child from the node. More... | |
bool | removeChild (PandaNode child_node, Thread current_thread) |
Removes the indicated child from the node. More... | |
removeStashed (int child_index, Thread current_thread) | |
Removes the nth stashed child from the node. More... | |
bool | replaceChild (PandaNode orig_child, PandaNode new_child, Thread current_thread) |
Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. More... | |
replaceNode (PandaNode other) | |
Inserts this node into the scene graph in place of the other one, and removes the other node. More... | |
resetPrevTransform (Thread current_thread) | |
Resets the transform that represents this node's "previous" position to the same as the current transform. More... | |
setAttrib (const RenderAttrib attrib, int override) | |
Adds the indicated render attribute to the scene graph on this node. More... | |
setBound (const BoundingVolume volume) | |
Deprecated. More... | |
setBounds (const BoundingVolume volume) | |
Resets the bounding volume so that it is the indicated volume. More... | |
setBoundsType (BoundingVolume::BoundsType bounds_type) | |
Specifies the desired type of bounding volume that will be created for this node. More... | |
setEffect (const RenderEffect effect) | |
Adds the indicated render effect to the scene graph on this node. More... | |
setEffects (const RenderEffects effects, Thread current_thread) | |
Sets the complete RenderEffects that will be applied this node. More... | |
setFinal (bool flag) | |
Sets the "final" flag on this PandaNode. More... | |
setIntoCollideMask (CollideMask mask) | |
Sets the "into" CollideMask. More... | |
setOverallHidden (bool overall_hidden) | |
Sets or clears the hidden flag. More... | |
setPrevTransform (const TransformState transform, Thread current_thread) | |
Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations. More... | |
setPythonTag (object key, object value) | |
setState (const RenderState state, Thread current_thread) | |
Sets the complete RenderState that will be applied to all nodes at this level and below. More... | |
setTag (str key, str value, Thread current_thread) | |
Associates a user-defined value with a user-defined key which is stored on the node. More... | |
setTransform (const TransformState transform, Thread current_thread) | |
Sets the transform that will be applied to this node and below. More... | |
setUnexpectedChange (unsigned int flags) | |
Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. More... | |
stashChild (int child_index, Thread current_thread) | |
Stashes the indicated child node. More... | |
bool | stashChild (PandaNode child_node, Thread current_thread) |
Stashes the indicated child node. More... | |
stealChildren (PandaNode other, Thread current_thread) | |
Moves all the children from the other node onto this node. More... | |
unstashChild (int stashed_index, Thread current_thread) | |
Returns the indicated stashed node to normal child status. More... | |
bool | unstashChild (PandaNode child_node, Thread current_thread) |
Returns the indicated stashed node to normal child status. More... | |
write (Ostream out, int indent_level) | |
![]() | |
object | __reduce__ () |
object | __reduce_persist__ (object pickler) |
VectorUchar | encodeToBamStream () |
Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. More... | |
bool | encodeToBamStream (VectorUchar data, BamWriter writer) |
Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. More... | |
fillin (DatagramIterator scan, BamReader manager) | |
This internal function is intended to be called by each class's make_from_bam() method to read in all of the relevant data from the BamFile for the new object. More... | |
UpdateSeq | getBamModified () |
Returns the current bam_modified counter. More... | |
markBamModified () | |
Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. More... | |
![]() | |
TypeHandle | getType () |
int | getTypeIndex () |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | isExactType (TypeHandle handle) |
Returns true if the current object is the indicated type exactly. More... | |
bool | isOfType (TypeHandle handle) |
Returns true if the current object is or derives from the indicated type. More... | |
![]() | |
int | getRefCount () |
Returns the current reference count. More... | |
ref () | |
Explicitly increments the reference count. More... | |
bool | testRefCountIntegrity () |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | testRefCountNonzero () |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
bool | unref () |
Explicitly decrements the reference count. More... | |
![]() | |
__init__ (const Namable) | |
__init__ (str initial_name) | |
clearName () | |
Resets the Namable's name to empty. More... | |
str | getName () |
bool | hasName () |
Returns true if the Namable has a nonempty name set, false if the name is empty. More... | |
output (Ostream out) | |
Outputs the Namable. More... | |
setName (str name) | |
Static Public Member Functions | |
static TypeHandle | getClassType () |
static int | getVertexColorDimension () |
Returns the numeric extended dimension in which the color components should be found. More... | |
static int | getVertexThicknessDimension () |
Returns the numeric extended dimension in which the thickness component should be found. More... | |
![]() | |
static PandaNode | decodeFromBamStream (VectorUchar data, BamReader reader) |
Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on those bytes. More... | |
static DrawMask | getAllCameraMask () |
Returns a DrawMask that is appropriate for rendering to all cameras. More... | |
static TypeHandle | getClassType () |
static DrawMask | getOverallBit () |
Returns the special bit that, when specifically cleared in the node's DrawMask, indicates that the node is hidden to all cameras, regardless of the remaining DrawMask bits. More... | |
static | resetAllPrevTransform (Thread current_thread) |
Visits all nodes in the world with the _dirty_prev_transform flag–that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0–and resets the _prev_transform to be the same as _transform. More... | |
![]() | |
static TypedWritableReferenceCount | decodeFromBamStream (VectorUchar data, BamReader reader) |
Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on those bytes. More... | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
Public Attributes | |
NurbsCurveEvaluator | curve |
Returns the curve represented by the RopeNode. More... | |
const LMatrix4 | matrix |
Returns the optional matrix which is used to transform each control vertex after it has been transformed into the RopeNode's coordinate space, but before the polygon vertices are generated. More... | |
RopeNode::NormalMode | normal_mode |
Returns the kind of normals to generate for the rope. More... | |
int | num_slices |
Returns the number of radial subdivisions to make if RenderMode is RM_tube. More... | |
int | num_subdiv |
Returns the number of subdivisions per cubic segment to draw. More... | |
RopeNode::RenderMode | render_mode |
Returns the method used to render the rope. More... | |
float | thickness |
Returns the thickness of the rope. More... | |
const LVector3 | tube_up |
Returns the normal vector used to control the "top" of the curve, when RenderMode is RM_tube. More... | |
bool | use_vertex_color |
Returns the "use vertex color" flag. More... | |
bool | use_vertex_thickness |
Returns the "use vertex thickness" flag. More... | |
bool | uv_direction |
Returns true if the rope runs down the U coordinate of the texture, or false if it runs down the V coordinate. More... | |
RopeNode::UVMode | uv_mode |
Returns the algorithm to use to generate UV's for the rope. More... | |
float | uv_scale |
Returns the scaling factor to apply to generated UV's for the rope. More... | |
int | vertex_color_dimension |
Returns the numeric extended dimension in which the color components should be found. More... | |
int | vertex_thickness_dimension |
Returns the numeric extended dimension in which the thickness component should be found. More... | |
![]() | |
DrawMask | all_camera_mask |
Returns a DrawMask that is appropriate for rendering to all cameras. More... | |
bool | bounds_stale |
Returns true if the bounding volume of this node is stale and will be implicitly recomputed at the next call to get_bounds(), or false if it is fresh and need not be recomputed. More... | |
BoundingVolume::BoundsType | bounds_type |
Returns the bounding volume type set with set_bounds_type(). More... | |
PandaNode::Children | children |
Returns an object that can be used to walk through the list of children of the node. More... | |
DrawMask | draw_control_mask |
Returns the set of bits in draw_show_mask that are considered meaningful. More... | |
DrawMask | draw_show_mask |
Returns the hide/show bits of this particular node. More... | |
ConstPointerToRenderEffects | effects |
Returns the complete RenderEffects that will be applied to this node. More... | |
bool | final |
Returns the current state of the "final" flag. More... | |
ConstPointerToBoundingVolume | internal_bounds |
Returns the node's internal bounding volume. More... | |
int | internal_vertices |
Returns the total number of vertices that will be rendered by this particular node alone, not accounting for its children. More... | |
CollideMask | into_collide_mask |
Returns the "into" collide mask for this node. More... | |
CollideMask | legal_collide_mask |
Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. More... | |
int | nested_vertices |
Returns the total number of vertices that will be rendered by this node and all of its descendents. More... | |
DrawMask | overall_bit |
Returns the special bit that, when specifically cleared in the node's DrawMask, indicates that the node is hidden to all cameras, regardless of the remaining DrawMask bits. More... | |
bool | overall_hidden |
Returns true if the node has been hidden to all cameras by clearing its overall bit. More... | |
PandaNode::Parents | parents |
Returns an object that can be used to walk through the list of parents of the node, similar to get_children() and get_stashed(). More... | |
ConstPointerToTransformState | prev_transform |
Returns the transform that has been set as this node's "previous" position. More... | |
object | python_tags |
PandaNode::Stashed | stashed |
Returns the nth stashed child of this node. More... | |
ConstPointerToRenderState | state |
Returns the complete RenderState that will be applied to all nodes at this level and below, as set on this node. More... | |
String | tags [] |
Retrieves the user-defined value that was previously set on this node for the particular key, if any. More... | |
ConstPointerToTransformState | transform |
Returns the transform that has been set on this particular node. More... | |
![]() | |
TypeHandle | type |
Returns the TypeHandle representing this object's type. More... | |
![]() | |
int | ref_count |
The current reference count. More... | |
![]() | |
const String | name |
This class draws a visible representation of the NURBS curve stored in its NurbsCurveEvaluator.
It automatically recomputes the curve every frame.
This is not related to NurbsCurve, CubicCurveseg or any of the ParametricCurve-derived objects in this module. It is a completely parallel implementation of NURBS curves, and will probably eventually replace the whole ParametricCurve class hierarchy.
enum NormalMode |
enum RenderMode |
enum UVMode |
__init__ | ( | str | name | ) |
clearMatrix | ( | ) |
Resets the node's matrix to identity.
See set_matrix().
|
static |
NurbsCurveEvaluator getCurve | ( | ) |
Returns the curve represented by the RopeNode.
const LMatrix4 getMatrix | ( | ) |
Returns the optional matrix which is used to transform each control vertex after it has been transformed into the RopeNode's coordinate space, but before the polygon vertices are generated.
RopeNode::NormalMode getNormalMode | ( | ) |
Returns the kind of normals to generate for the rope.
This is only applicable when the RenderMode is set to RM_tube.
int getNumSlices | ( | ) |
Returns the number of radial subdivisions to make if RenderMode is RM_tube.
It is ignored in the other render modes. See set_num_slices().
int getNumSubdiv | ( | ) |
Returns the number of subdivisions per cubic segment to draw.
See set_num_subdiv().
RopeNode::RenderMode getRenderMode | ( | ) |
Returns the method used to render the rope.
See set_render_mode().
float getThickness | ( | ) |
Returns the thickness of the rope.
See set_thickness().
const LVector3 getTubeUp | ( | ) |
Returns the normal vector used to control the "top" of the curve, when RenderMode is RM_tube.
See set_tube_up().
bool getUseVertexColor | ( | ) |
Returns the "use vertex color" flag.
See set_use_vertex_color().
bool getUseVertexThickness | ( | ) |
Returns the "use vertex thickness" flag.
See set_use_vertex_thickness().
bool getUvDirection | ( | ) |
Returns true if the rope runs down the U coordinate of the texture, or false if it runs down the V coordinate.
RopeNode::UVMode getUvMode | ( | ) |
Returns the algorithm to use to generate UV's for the rope.
float getUvScale | ( | ) |
Returns the scaling factor to apply to generated UV's for the rope.
|
static |
Returns the numeric extended dimension in which the color components should be found.
See NurbsCurveEvaluator::set_extended_vertex().
The color components will be expected at (n, n + 1, n + 2, n + 3).
|
static |
Returns the numeric extended dimension in which the thickness component should be found.
See NurbsCurveEvaluator::set_extended_vertex().
bool hasMatrix | ( | ) |
Returns true if the node has a matrix set, false otherwise.
See set_matrix().
resetBound | ( | const NodePath | rel_to | ) |
Recomputes the bounding volume.
This is normally called automatically, but it must occasionally be called explicitly when the curve has changed properties outside of this node's knowledge.
setCurve | ( | NurbsCurveEvaluator | curve | ) |
Sets the particular curve represented by the RopeNode.
setMatrix | ( | const LMatrix4 | matrix | ) |
Specifies an optional matrix which is used to transform each control vertex after it has been transformed into the RopeNode's coordinate space, but before the polygon vertices are generated.
setNormalMode | ( | RopeNode::NormalMode | normal_mode | ) |
Specifies the kind of normals to generate for the rope.
This is only applicable when the RenderMode is set to RM_tube; in the other render modes, normals are never generated.
setNumSlices | ( | int | num_slices | ) |
Specifies the number of radial subdivisions to make if RenderMode is RM_tube.
It is ignored in the other render modes.
Increasing this number increases the roundness of a cross-section of the tube. The minimum value for a dimensional tube is 3; setting it to 2 will get you a thin piece of tape (which is similar to RM_billboard, except it won't rotate to face the camera).
setNumSubdiv | ( | int | num_subdiv | ) |
Specifies the number of subdivisions per cubic segment (that is, per unique knot value) to draw in a fixed uniform tesselation of the curve.
setRenderMode | ( | RopeNode::RenderMode | render_mode | ) |
Specifies the method used to render the rope.
The simplest is RM_thread, which just draws a one-pixel line segment.
setThickness | ( | float | thickness | ) |
Specifies the thickness of the rope, in pixels or in spatial units, depending on the render mode.
See set_render_mode().
The thickness may also be specified on a per-vertex basis. See set_use_vertex_thickness().
setTubeUp | ( | const LVector3 | tube_up | ) |
Specifies a normal vector, generally perpendicular to the main axis of the starting point of the curve, that controls the "top" of the curve, when RenderMode is RM_tube.
This is used to orient the vertices that make up the tube. If this vector is too nearly parallel with the starting direction of the curve, there may be a tendency for the whole tube to gimble-lock around its primary axis.
setUseVertexColor | ( | bool | flag | ) |
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 n + 0, n + 1, n + 2, n + 3, respectively, of the extended vertex values, where n is the value returned by get_vertex_color_dimension(). Use NurbsCurveEvaluator::set_extended_vertex() to set these values.
setUseVertexThickness | ( | bool | flag | ) |
Sets the "use vertex thickness" flag.
When this is true, the vertex thickness is assumed to be stored as the dimension get_vertex_thickness_dimension(), of the extended vertex values. Use NurbsCurveEvaluator::set_extended_vertex() to set these values.
In this mode, the overall thickness is also applied as a scale to the vertex thickness. Not all render modes support vertex thickness.
setUvDirection | ( | bool | u_dominant | ) |
Specify true to vary the U coordinate down the length of the rope, or false to vary the V coordinate.
setUvMode | ( | RopeNode::UVMode | uv_mode | ) |
Specifies the algorithm to use to generate UV's for the rope.
setUvScale | ( | float | scale | ) |
Specifies an additional scaling factor to apply to generated UV's along the rope.
This scale factor is applied in whichever direction is along the rope, as specified by set_uv_direction().
NurbsCurveEvaluator curve |
Returns the curve represented by the RopeNode.
const LMatrix4 matrix |
Returns the optional matrix which is used to transform each control vertex after it has been transformed into the RopeNode's coordinate space, but before the polygon vertices are generated.
RopeNode::NormalMode normal_mode |
Returns the kind of normals to generate for the rope.
This is only applicable when the RenderMode is set to RM_tube.
int num_slices |
Returns the number of radial subdivisions to make if RenderMode is RM_tube.
It is ignored in the other render modes. See set_num_slices().
int num_subdiv |
Returns the number of subdivisions per cubic segment to draw.
See set_num_subdiv().
RopeNode::RenderMode render_mode |
Returns the method used to render the rope.
See set_render_mode().
float thickness |
Returns the thickness of the rope.
See set_thickness().
const LVector3 tube_up |
Returns the normal vector used to control the "top" of the curve, when RenderMode is RM_tube.
See set_tube_up().
bool use_vertex_color |
Returns the "use vertex color" flag.
See set_use_vertex_color().
bool use_vertex_thickness |
Returns the "use vertex thickness" flag.
See set_use_vertex_thickness().
bool uv_direction |
Returns true if the rope runs down the U coordinate of the texture, or false if it runs down the V coordinate.
RopeNode::UVMode uv_mode |
Returns the algorithm to use to generate UV's for the rope.
float uv_scale |
Returns the scaling factor to apply to generated UV's for the rope.
int vertex_color_dimension |
Returns the numeric extended dimension in which the color components should be found.
See NurbsCurveEvaluator::set_extended_vertex().
The color components will be expected at (n, n + 1, n + 2, n + 3).
int vertex_thickness_dimension |
Returns the numeric extended dimension in which the thickness component should be found.
See NurbsCurveEvaluator::set_extended_vertex().