Panda3D
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
NodePath Class Reference

NodePath is the fundamental system for disambiguating instances, and also provides a higher-level interface for manipulating the scene graph. More...

Inheritance diagram for NodePath:
Actor LineNodePath DirectGrid DirectLight DirectLights ObjectHandles DirectNodePath Fixture DistributedNode DistributedNodeAI DirectGuiWidget OnscreenGeom OnscreenImage OnscreenText MotionTrail ParticleEffect ParticleFloorTest FallTest RotationTest DistancePhasedNode Rope

Public Types

enum  ErrorType { ET_ok = 0, ET_not_found = 1, ET_removed = 2, ET_fail = 3 }
 

Public Member Functions

NodePath __copy__ ()
 
object __deepcopy__ (object memo)
 
 __init__ ()
 This constructs an empty NodePath with no nodes. More...
 
 __init__ (NodePath from)
 
 __init__ (const NodePath copy)
 
 __init__ (const NodePath parent, PandaNode child_node, Thread current_thread)
 Constructs a NodePath with the indicated parent NodePath and child node; the child node must be a stashed or unstashed child of the parent. More...
 
 __init__ (PandaNode node, Thread current_thread)
 This constructs a NodePath for the indicated node. More...
 
 __init__ (str top_node_name, Thread current_thread)
 This constructs a new NodePath with a single node. More...
 
object __reduce__ ()
 
object __reduce_persist__ (object pickler)
 
int __traverse__ (Visitproc visit, void arg)
 
int addHash (int hash)
 Adds the NodePath into the running hash. More...
 
 adjustAllPriorities (int adjustment)
 Adds the indicated adjustment amount (which may be negative) to the priority for all transitions on the referenced node, and for all nodes in the subgraph below. More...
 
 applyTextureColors ()
 Removes textures from Geoms at this node and below by applying the texture colors to the vertices. More...
 
NodePath attachNewNode (PandaNode node, int sort, Thread current_thread)
 Attaches a new node, with or without existing parents, to the scene graph below the referenced node of this NodePath. More...
 
NodePath attachNewNode (str name, int sort, Thread current_thread)
 Creates an ordinary PandaNode and attaches it below the current NodePath, returning a new NodePath that references it. More...
 
bool calcTightBounds (LPoint3 min_point, LPoint3 max_point, const NodePath other, Thread current_thread)
 Calculates the minimum and maximum vertices of all Geoms at this NodePath's bottom node and below. More...
 
 clear ()
 Sets this NodePath to the empty NodePath. More...
 
 clearAntialias ()
 Completely removes any antialias setting that may have been set on this node via set_antialias(). More...
 
 clearAttrib (TypeHandle type)
 Removes the render attribute of the given type from this node. More...
 
 clearAudioVolume ()
 Completely removes any audio volume from the referenced node. More...
 
 clearBillboard ()
 Removes any billboard effect from the node. More...
 
 clearBin ()
 Completely removes any bin adjustment that may have been set via set_bin() from this particular node. More...
 
 clearClipPlane ()
 Completely removes any clip planes that may have been set via set_clip_plane() or set_clip_plane_off() from this particular node. More...
 
 clearClipPlane (const NodePath clip_plane)
 Removes any reference to the indicated clipping plane from the NodePath. More...
 
 clearColor ()
 Completely removes any color adjustment from the node. More...
 
 clearColorScale ()
 Completely removes any color scale from the referenced node. More...
 
 clearCompass ()
 Removes any compass effect from the node. More...
 
 clearDepthOffset ()
 Completely removes any depth-offset adjustment that may have been set on this node via set_depth_offset(). More...
 
 clearDepthTest ()
 Completely removes any depth-test adjustment that may have been set on this node via set_depth_test(). More...
 
 clearDepthWrite ()
 Completely removes any depth-write adjustment that may have been set on this node via set_depth_write(). More...
 
 clearEffect (TypeHandle type)
 Removes the render effect of the given type from this node. More...
 
 clearEffects ()
 Resets this node to have no render effects. More...
 
 clearFog ()
 Completely removes any fog adjustment that may have been set via set_fog() or set_fog_off() from this particular node. More...
 
 clearLight ()
 Completely removes any lighting operations that may have been set via set_light() or set_light_off() from this particular node. More...
 
 clearLight (const NodePath light)
 Removes any reference to the indicated Light or PolylightNode from the NodePath. More...
 
 clearLogicOp ()
 Completely removes any logical operation that may have been set on this node via set_logic_op(). More...
 
 clearMat ()
 Completely removes any transform from the referenced node. More...
 
 clearMaterial ()
 Completely removes any material adjustment that may have been set via set_material() from this particular node. More...
 
int clearModelNodes ()
 Recursively walks through the scene graph at this level and below, looking for ModelNodes, and calls model_node->set_preserve_transform(PT_drop_node) on each one. More...
 
 clearOccluder ()
 Completely removes any occluders that may have been set via set_occluder() from this particular node. More...
 
 clearOccluder (const NodePath occluder)
 Removes any reference to the indicated occluder from the NodePath. More...
 
 clearProjectTexture (TextureStage stage)
 Undoes the effect of project_texture(). More...
 
 clearPythonTag (object keys)
 
 clearRenderMode ()
 Completely removes any render mode adjustment that may have been set on this node via set_render_mode_wireframe() or set_render_mode_filled(). More...
 
 clearScissor ()
 Removes the scissor region that was defined at this node level by a previous call to set_scissor(). More...
 
 clearShader ()
 
 clearShaderInput (const InternalName id)
 
 clearTag (str key)
 Removes the value defined for this key on this particular node. More...
 
 clearTexGen ()
 Removes the texture coordinate generation mode from all texture stages on this node. More...
 
 clearTexGen (TextureStage stage)
 Disables automatic texture coordinate generation for the indicated texture stage. More...
 
 clearTexProjector ()
 Removes the TexProjectorEffect for all stages from this node. More...
 
 clearTexProjector (TextureStage stage)
 Removes the TexProjectorEffect for the indicated stage from this node. More...
 
 clearTexTransform ()
 Removes all texture matrices from the current node. More...
 
 clearTexTransform (TextureStage stage)
 Removes the texture matrix on the current node for the given stage. More...
 
 clearTexture ()
 Completely removes any texture adjustment that may have been set via set_texture() or set_texture_off() from this particular node. More...
 
 clearTexture (TextureStage stage)
 Removes any reference to the indicated texture stage from the NodePath. More...
 
 clearTransform (const NodePath other, Thread current_thread)
 Sets the transform object on this node to identity, relative to the other node. More...
 
 clearTransform (Thread current_thread)
 Sets the transform object on this node to identity. More...
 
 clearTransparency ()
 Completely removes any transparency adjustment that may have been set on this node via set_transparency(). More...
 
 clearTwoSided ()
 Completely removes any two-sided adjustment that may have been set on this node via set_two_sided(). More...
 
int compareTo (const NodePath other)
 Returns a number less than zero if this NodePath sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent. More...
 
int compareTo (const WeakNodePath other)
 Returns a number less than zero if this NodePath sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent. More...
 
 composeColorScale (const LVecBase4 scale, int priority)
 multiplies the color scale component of the transform, with previous color scale leaving translation and rotation untouched. More...
 
 composeColorScale (float sx, float sy, float sz, float sa, int priority)
 Sets the color scale component of the transform. More...
 
NodePath copyTo (const NodePath other, int sort, Thread current_thread)
 Functions like instance_to(), except a deep copy is made of the referenced node and all of its descendents, which is then parented to the indicated node. More...
 
int countNumDescendants ()
 Returns the number of nodes at and below this level. More...
 
 detachNode (Thread current_thread)
 Disconnects the referenced node from its parent, but does not immediately delete it. More...
 
 doBillboardAxis (const NodePath camera, float offset)
 Performs a billboard-type rotate to the indicated camera node, one time only, and leaves the object rotated. More...
 
 doBillboardPointEye (const NodePath camera, float offset)
 Performs a billboard-type rotate to the indicated camera node, one time only, and leaves the object rotated. More...
 
 doBillboardPointWorld (const NodePath camera, float offset)
 Performs a billboard-type rotate to the indicated camera node, one time only, and leaves the object rotated. More...
 
VectorUchar encodeToBamStream ()
 Converts the NodePath object into a single stream of data using a BamWriter, and returns that data as a string string. More...
 
bool encodeToBamStream (VectorUchar data, BamWriter writer)
 Converts the NodePath object into a single stream of data using a BamWriter, and stores that data in the indicated string. More...
 
NodePath find (str path)
 Searches for a node below the referenced node that matches the indicated string. More...
 
NodePathCollection findAllMatches (str path)
 Returns the complete set of all NodePaths that begin with this NodePath and can be extended by path. More...
 
MaterialCollection findAllMaterials ()
 Returns a list of a materials applied to geometry at this node and below. More...
 
MaterialCollection findAllMaterials (str name)
 Returns a list of a materials applied to geometry at this node and below that match the indicated name (which may contain wildcard characters). More...
 
NodePathCollection findAllPathsTo (PandaNode node)
 Returns the set of all NodePaths that extend from this NodePath down to the indicated node. More...
 
InternalNameCollection findAllTexcoords ()
 Returns a list of all texture coordinate sets used by any geometry at this node level and below. More...
 
InternalNameCollection findAllTexcoords (str name)
 Returns a list of all texture coordinate sets used by any geometry at this node level and below that match the indicated name (which may contain wildcard characters). More...
 
TextureCollection findAllTextures ()
 Returns a list of a textures applied to geometry at this node and below. More...
 
TextureCollection findAllTextures (TextureStage stage)
 Returns a list of a textures on geometry at this node and below that are assigned to the indicated texture stage. More...
 
TextureCollection findAllTextures (str name)
 Returns a list of a textures applied to geometry at this node and below that match the indicated name (which may contain wildcard characters). More...
 
TextureStageCollection findAllTextureStages ()
 Returns a list of a TextureStages applied to geometry at this node and below. More...
 
TextureStageCollection findAllTextureStages (str name)
 Returns a list of a TextureStages applied to geometry at this node and below that match the indicated name (which may contain wildcard characters). More...
 
InternalNameCollection findAllVertexColumns ()
 Returns a list of all vertex array columns stored on some geometry found at this node level and below. More...
 
InternalNameCollection findAllVertexColumns (str name)
 Returns a list of all vertex array columns stored on some geometry found at this node level and below that match the indicated name (which may contain wildcard characters). More...
 
Material findMaterial (str name)
 Returns the first material found applied to geometry at this node or below that matches the indicated name (which may contain wildcards). More...
 
NodePath findNetPythonTag (object keys)
 
NodePath findNetTag (str key)
 Returns the lowest ancestor of this node that contains a tag definition with the indicated key, if any, or an empty NodePath if no ancestor of this node contains this tag definition. More...
 
NodePath findPathTo (PandaNode node)
 Searches for the indicated node below this node and returns the shortest NodePath that connects them. More...
 
Texture findTexture (TextureStage stage)
 Returns the first texture found applied to geometry at this node or below that is assigned to the indicated texture stage. More...
 
Texture findTexture (str name)
 Returns the first texture found applied to geometry at this node or below that matches the indicated name (which may contain wildcards). More...
 
TextureStage findTextureStage (str name)
 Returns the first TextureStage found applied to geometry at this node or below that matches the indicated name (which may contain wildcards). More...
 
int flattenLight ()
 Lightly flattens out the hierarchy below this node by applying transforms, colors, and texture matrices from the nodes onto the vertices, but does not remove any nodes. More...
 
int flattenMedium ()
 A more thorough flattening than flatten_light(), this first applies all the transforms, colors, and texture matrices from the nodes onto the vertices, and then removes unneeded grouping nodes–nodes that have exactly one child, for instance, but have no special properties in themselves. More...
 
int flattenStrong ()
 The strongest possible flattening. More...
 
 forceRecomputeBounds ()
 Forces the recomputing of all the bounding volumes at every node in the subgraph beginning at this node and below. More...
 
NodePath getAncestor (int index, Thread current_thread)
 Returns the nth ancestor of the path, where 0 is the NodePath itself and get_num_nodes() - 1 is get_top(). More...
 
list getAncestors ()
 
unsigned short int getAntialias ()
 Returns the antialias setting that has been specifically set on this node via set_antialias(), or M_none if no setting has been made. 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...
 
float getAudioVolume ()
 Returns the complete audio volume that has been applied to this node via a previous call to set_audio_volume(), or 1. More...
 
int getBinDrawOrder ()
 Returns the drawing order associated with the bin that this particular node was assigned to via set_bin(), or 0 if no bin was assigned. More...
 
str getBinName ()
 Returns the name of the bin that this particular node was assigned to via set_bin(), or the empty string if no bin was assigned. More...
 
BoundingVolume getBounds (Thread current_thread)
 Returns a newly-allocated bounding volume containing the bottom node and all of its descendants. More...
 
NodePath getChild (int n, Thread current_thread)
 Returns a NodePath representing the nth child of the referenced node. More...
 
NodePathCollection getChildren (Thread current_thread)
 Returns the set of all child nodes of the referenced node. More...
 
CollideMask getCollideMask ()
 Returns the union of all of the into_collide_masks for nodes at this level and below. More...
 
LColor getColor ()
 Returns the color that has been assigned to the node, or black if no color has been assigned. More...
 
const LVecBase4 getColorScale ()
 Returns the complete color scale vector that has been applied to this node via a previous call to set_color_scale() and/or set_alpha_scale(), or all 1's (identity) if no scale has been applied to this particular node. More...
 
NodePath getCommonAncestor (const NodePath other, Thread current_thread)
 Returns the lowest NodePath that both of these two NodePaths have in common: the first ancestor that both of them share. More...
 
int getDepthOffset ()
 Returns the depth offset value if it has been specified using set_depth_offset, or 0 if not. More...
 
bool getDepthTest ()
 Returns true if depth-test rendering has been specifically set on this node via set_depth_test(), or false if depth-test rendering has been specifically disabled. More...
 
bool getDepthWrite ()
 Returns true if depth-write rendering has been specifically set on this node via set_depth_write(), or false if depth-write rendering has been specifically disabled. More...
 
float getDistance (const NodePath other)
 Returns the straight-line distance between this referenced node's coordinate frame's origin, and that of the other node's origin. 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 ()
 Returns the complete RenderEffects that will be applied to this node. More...
 
NodePath::ErrorType getErrorType ()
 If is_empty() is true, this returns a code that represents the reason why the NodePath is empty. More...
 
Fog getFog ()
 Returns the fog that has been set on this particular node, or NULL if no fog has been set. More...
 
float getH ()
 
float getH (const NodePath other)
 
NodePath getHiddenAncestor (DrawMask camera_mask, Thread current_thread)
 Returns the NodePath at or above the referenced node that is hidden to the indicated camera(s), or an empty NodePath if no ancestor of the referenced node is hidden (and the node should be visible). More...
 
LVecBase3 getHpr ()
 Retrieves the rotation component of the transform. More...
 
LVecBase3 getHpr (const NodePath other)
 Returns the relative orientation of the bottom node as seen from the other node. More...
 
int getInstanceCount ()
 Returns the geometry instance count, or 0 if disabled. More...
 
int getKey ()
 Returns an integer that is guaranteed to be the same for all NodePaths that represent the same node instance, and different for all NodePaths that represent a different node instance. More...
 
LogicOpAttrib::Operation getLogicOp ()
 Returns the logical operation that has been specifically set on this node via set_logic_op(), or O_none if standard color blending has been specifically set, or if nothing has been specifically set. More...
 
const LMatrix4 getMat ()
 Returns the transform matrix that has been applied to the referenced node, or the identity matrix if no matrix has been applied. More...
 
LMatrix4 getMat (const NodePath other)
 Returns the matrix that describes the coordinate space of the bottom node, relative to the other path's bottom node's coordinate space. More...
 
Material getMaterial ()
 Returns the material that has been set on this particular node, or NULL if no material has been set. More...
 
str getName ()
 Returns the name of the referenced node. More...
 
float getNetAudioVolume ()
 Returns the complete audio volume for this node taking highers nodes in the graph into account. More...
 
const TransformState getNetPrevTransform (Thread current_thread)
 Returns the net "previous" transform on this node from the root. More...
 
object getNetPythonTag (object keys)
 
const RenderState getNetState (Thread current_thread)
 Returns the net state on this node from the root. More...
 
str getNetTag (str key)
 Returns the tag value that has been defined on this node, or the nearest ancestor node, for the indicated key. More...
 
const TransformState getNetTransform (Thread current_thread)
 Returns the net transform on this node from the root. More...
 
PandaNode getNode (int index, Thread current_thread)
 Returns the nth node of the path, where 0 is the referenced (bottom) node and get_num_nodes() - 1 is the top node. More...
 
list getNodes ()
 
int getNumChildren (Thread current_thread)
 Returns the number of children of the referenced node. More...
 
int getNumNodes (Thread current_thread)
 Returns the number of nodes in the path. More...
 
float getP ()
 
float getP (const NodePath other)
 
NodePath getParent (Thread current_thread)
 Returns the NodePath to the parent of the referenced node: that is, this NodePath, shortened by one node. More...
 
LPoint3 getPos ()
 Retrieves the translation component of the transform. More...
 
LPoint3 getPos (const NodePath other)
 Returns the relative position of the referenced node as seen from the other node. More...
 
LVector3 getPosDelta ()
 Returns the delta vector from this node's position in the previous frame (according to set_prev_transform(), typically set via the use of set_fluid_pos()) and its position in the current frame. More...
 
LVector3 getPosDelta (const NodePath other)
 Returns the delta vector from this node's position in the previous frame (according to set_prev_transform(), typically set via the use of set_fluid_pos()) and its position in the current frame, as seen in the indicated node's coordinate space. More...
 
const TransformState getPrevTransform (const NodePath other, Thread current_thread)
 Returns the relative "previous" transform to this node from the other node; i.e. More...
 
const TransformState getPrevTransform (Thread current_thread)
 Returns the transform that has been set as this node's "previous" position. More...
 
object getPythonTag (object keys)
 
object getPythonTagKeys ()
 
object getPythonTags ()
 
LQuaternion getQuat ()
 Retrieves the rotation component of the transform. More...
 
LQuaternion getQuat (const NodePath other)
 Returns the relative orientation of the bottom node as seen from the other node. More...
 
float getR ()
 
float getR (const NodePath other)
 
LPoint3 getRelativePoint (const NodePath other, const LVecBase3 point)
 Given that the indicated point is in the coordinate system of the other node, returns the same point in this node's coordinate system. More...
 
LVector3 getRelativeVector (const NodePath other, const LVecBase3 vec)
 Given that the indicated vector is in the coordinate system of the other node, returns the same vector in this node's coordinate system. More...
 
RenderModeAttrib::Mode getRenderMode ()
 Returns the render mode that has been specifically set on this node via set_render_mode(), or M_unchanged if nothing has been set. More...
 
bool getRenderModePerspective ()
 Returns the flag that has been set on this node via set_render_mode_perspective(), or false if no flag has been set. More...
 
float getRenderModeThickness ()
 Returns the render mode thickness that has been specifically set on this node via set_render_mode(), or 1.0 if nothing has been set. More...
 
float getSa ()
 Gets the alpha scale component of the transform. More...
 
float getSb ()
 Gets the blue scale component of the transform. More...
 
LVecBase3 getScale ()
 Retrieves the scale component of the transform. More...
 
LVecBase3 getScale (const NodePath other)
 Returns the relative scale of the bottom node as seen from the other node. More...
 
float getSg ()
 Gets the green scale component of the transform. More...
 
const Shader getShader ()
 
ShaderInput getShaderInput (const InternalName id)
 
LVecBase3 getShear ()
 Retrieves the shear component of the transform. More...
 
LVecBase3 getShear (const NodePath other)
 Returns the relative shear of the bottom node as seen from the other node. More...
 
float getShxy ()
 
float getShxy (const NodePath other)
 Returns the relative shear of the referenced node as seen from the other node. More...
 
float getShxz ()
 
float getShxz (const NodePath other)
 
float getShyz ()
 
float getShyz (const NodePath other)
 
int getSort (Thread current_thread)
 Returns the sort value of the referenced node within its parent; that is, the sort number passed on the last reparenting operation for this node. More...
 
float getSr ()
 Gets the red scale component of the transform. More...
 
NodePath getStashedAncestor (Thread current_thread)
 Returns the NodePath at or above the referenced node that is stashed, or an empty NodePath if no ancestor of the referenced node is stashed (and the node should be visible). More...
 
NodePathCollection getStashedChildren (Thread current_thread)
 Returns the set of all child nodes of the referenced node that have been stashed. More...
 
const RenderState getState (const NodePath other, Thread current_thread)
 Returns the state changes that must be made to transition to the render state of this node from the render state of the other node. More...
 
const RenderState getState (Thread current_thread)
 Returns the complete state object set on this node. More...
 
float getSx ()
 
float getSx (const NodePath other)
 Returns the relative scale of the referenced node as seen from the other node. More...
 
float getSy ()
 
float getSy (const NodePath other)
 
float getSz ()
 
float getSz (const NodePath other)
 
str getTag (str key)
 Retrieves the user-defined value that was previously set on this node for the particular key, if any. More...
 
object getTagKeys ()
 
 getTagKeys (VectorString keys)
 Fills the given vector up with the list of tags on this PandaNode. More...
 
object getTags ()
 
RenderAttrib::TexGenMode getTexGen (TextureStage stage)
 Returns the texture coordinate generation mode for the given stage, or M_off if there is no explicit mode set for the given stage. More...
 
LVecBase3 getTexHpr (const NodePath other, TextureStage stage)
 Returns the 3-D HPR set for the UVW's for the given stage on the current node. More...
 
LVecBase3 getTexHpr (TextureStage stage)
 Returns the 3-D HPR set for the UVW's for the given stage on the current node. More...
 
LVecBase2 getTexOffset (const NodePath other, TextureStage stage)
 Returns the offset set for the UV's for the given stage on the current node. More...
 
LVecBase2 getTexOffset (TextureStage stage)
 Returns the offset set for the UV's for the given stage on the current node. More...
 
LVecBase3 getTexPos (const NodePath other, TextureStage stage)
 Returns the offset set for the UVW's for the given stage on the current node. More...
 
LVecBase3 getTexPos (TextureStage stage)
 Returns the offset set for the UVW's for the given stage on the current node. More...
 
NodePath getTexProjectorFrom (TextureStage stage)
 Returns the "from" node associated with the TexProjectorEffect on the indicated stage. More...
 
NodePath getTexProjectorTo (TextureStage stage)
 Returns the "to" node associated with the TexProjectorEffect on the indicated stage. More...
 
float getTexRotate (const NodePath other, TextureStage stage)
 Returns the rotation set for the UV's for the given stage on the current node. More...
 
float getTexRotate (TextureStage stage)
 Returns the rotation set for the UV's for the given stage on the current node. More...
 
LVecBase2 getTexScale (const NodePath other, TextureStage stage)
 Returns the scale set for the UV's for the given stage on the current node. More...
 
LVecBase2 getTexScale (TextureStage stage)
 Returns the scale set for the UV's for the given stage on the current node. More...
 
LVecBase3 getTexScale3d (const NodePath other, TextureStage stage)
 Returns the scale set for the UVW's for the given stage on the current node. More...
 
LVecBase3 getTexScale3d (TextureStage stage)
 Returns the scale set for the UVW's for the given stage on the current node. More...
 
const TransformState getTexTransform (const NodePath other, TextureStage stage)
 Returns the texture matrix on the current node for the given stage, relative to the other node. More...
 
const TransformState getTexTransform (TextureStage stage)
 Returns the texture matrix on the current node for the given stage, or identity transform if there is no explicit transform set for the given stage. More...
 
Texture getTexture ()
 Returns the base-level texture that has been set on this particular node, or NULL if no texture has been set. More...
 
Texture getTexture (TextureStage stage)
 Returns the texture that has been set on the indicated stage for this particular node, or NULL if no texture has been set for this stage. More...
 
const SamplerState getTextureSampler ()
 Returns the sampler state that has been given for the base-level texture that has been set on this particular node. More...
 
const SamplerState getTextureSampler (TextureStage stage)
 Returns the sampler state that has been given for the indicated texture stage that has been set on this particular node. More...
 
object getTightBounds (const NodePath other)
 
NodePath getTop (Thread current_thread)
 Returns a singleton NodePath that represents the top of the path, or empty NodePath if this path is empty. More...
 
PandaNode getTopNode (Thread current_thread)
 Returns the top node of the path, or NULL if the path is empty. More...
 
const TransformState getTransform (const NodePath other, Thread current_thread)
 Returns the relative transform to this node from the other node; i.e. More...
 
const TransformState getTransform (Thread current_thread)
 Returns the complete transform object set on this node. More...
 
TransparencyAttrib::Mode getTransparency ()
 Returns the transparent rendering that has been specifically set on this node via set_transparency(), or M_none if nontransparent rendering has been specifically set, or if nothing has been specifically set. More...
 
bool getTwoSided ()
 Returns true if two-sided rendering has been specifically set on this node via set_two_sided(), or false if one-sided rendering has been specifically set, or if nothing has been specifically set. More...
 
float getX ()
 
float getX (const NodePath other)
 
float getY ()
 
float getY (const NodePath other)
 
float getZ ()
 
float getZ (const NodePath other)
 
bool hasAntialias ()
 Returns true if an antialias setting has been explicitly mode on this particular node via set_antialias(). 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 hasAudioVolume ()
 Returns true if an audio volume has been applied to the referenced node, false otherwise. More...
 
bool hasBillboard ()
 Returns true if there is any billboard effect on the node. More...
 
bool hasBin ()
 Returns true if the node has been assigned to the a particular rendering bin via set_bin(), false otherwise. More...
 
bool hasClipPlane (const NodePath clip_plane)
 Returns true if the indicated clipping plane has been specifically applied to this particular node. More...
 
bool hasClipPlaneOff ()
 Returns true if all clipping planes have been specifically disabled on this particular node. More...
 
bool hasClipPlaneOff (const NodePath clip_plane)
 Returns true if the indicated clipping plane has been specifically disabled on this particular node. More...
 
bool hasColor ()
 Returns true if a color has been applied to the given node, false otherwise. More...
 
bool hasColorScale ()
 Returns true if a color scale has been applied to the referenced node, false otherwise. More...
 
bool hasCompass ()
 Returns true if there is any compass effect on the node. More...
 
bool hasDepthOffset ()
 Returns true if a depth-offset adjustment has been explicitly set on this particular node via set_depth_offset(). More...
 
bool hasDepthTest ()
 Returns true if a depth-test adjustment has been explicitly set on this particular node via set_depth_test(). More...
 
bool hasDepthWrite ()
 Returns true if a depth-write adjustment has been explicitly set on this particular node via set_depth_write(). 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 hasFog ()
 Returns true if a fog has been applied to this particular node via set_fog(), false otherwise. More...
 
bool hasFogOff ()
 Returns true if a fog has been specifically disabled on this particular node via set_fog_off(), false otherwise. More...
 
bool hasLight (const NodePath light)
 Returns true if the indicated Light or PolylightNode has been specifically enabled on this particular node. More...
 
bool hasLightOff ()
 Returns true if all Lights have been specifically disabled on this particular node. More...
 
bool hasLightOff (const NodePath light)
 Returns true if the indicated Light has been specifically disabled on this particular node. More...
 
bool hasLogicOp ()
 Returns true if a logical operation has been explicitly set on this particular node via set_logic_op(). More...
 
bool hasMat ()
 Returns true if a non-identity transform matrix has been applied to the referenced node, false otherwise. More...
 
bool hasMaterial ()
 Returns true if a material has been applied to this particular node via set_material(), false otherwise. More...
 
bool hasNetPythonTag (object keys)
 
bool hasNetTag (str key)
 Returns true if the indicated tag value has been defined on this node or on any ancestor node, or false otherwise. More...
 
bool hasOccluder (const NodePath occluder)
 Returns true if the indicated occluder has been specifically applied to this particular node. More...
 
bool hasParent (Thread current_thread)
 Returns true if the referenced node has a parent; i.e. More...
 
bool hasPythonTag (object keys)
 
bool hasRenderMode ()
 Returns true if a render mode has been explicitly set on this particular node via set_render_mode() (or set_render_mode_wireframe() or set_render_mode_filled()), false otherwise. More...
 
bool hasScissor ()
 Returns true if a scissor region was defined at this node by a previous call to set_scissor(). More...
 
bool hasTag (str key)
 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 hasTexcoord (str texcoord_name)
 Returns true if there are at least some vertices at this node and below that use the named texture coordinate set, false otherwise. More...
 
bool hasTexGen (TextureStage stage)
 Returns true if there is a mode for automatic texture coordinate generation on the current node for the given stage. More...
 
bool hasTexProjector (TextureStage stage)
 Returns true if this node has a TexProjectorEffect for the indicated stage, false otherwise. More...
 
bool hasTexTransform (TextureStage stage)
 Returns true if there is an explicit texture matrix on the current node for the given stage. More...
 
bool hasTexture ()
 Returns true if a texture has been applied to this particular node via set_texture(), false otherwise. More...
 
bool hasTexture (TextureStage stage)
 Returns true if texturing has been specifically enabled on this particular node for the indicated stage. More...
 
bool hasTextureOff ()
 Returns true if texturing has been specifically disabled on this particular node via set_texture_off(), false otherwise. More...
 
bool hasTextureOff (TextureStage stage)
 Returns true if texturing has been specifically disabled on this particular node for the indicated stage. More...
 
bool hasTransparency ()
 Returns true if a transparent-rendering adjustment has been explicitly set on this particular node via set_transparency(). More...
 
bool hasTwoSided ()
 Returns true if a two-sided adjustment has been explicitly set on this particular node via set_two_sided(). More...
 
bool hasVertexColumn (const InternalName name)
 Returns true if there are at least some vertices at this node and below that contain a reference to the indicated vertex data column name, false otherwise. More...
 
 headsUp (const LPoint3 point, const LVector3 up)
 Behaves like look_at(), but with a strong preference to keeping the up vector oriented in the indicated "up" direction. More...
 
 headsUp (const NodePath other, const LPoint3 point, const LVector3 up)
 Behaves like look_at(), but with a strong preference to keeping the up vector oriented in the indicated "up" direction. More...
 
 headsUp (const NodePath other, float x, float y, float z)
 Behaves like look_at(), but with a strong preference to keeping the up vector oriented in the indicated "up" direction. More...
 
 headsUp (float x, float y, float z)
 Behaves like look_at(), but with a strong preference to keeping the up vector oriented in the indicated "up" direction. More...
 
 hide ()
 Makes the referenced node (and the entire subgraph below this node) invisible to all cameras. More...
 
 hide (DrawMask camera_mask)
 Makes the referenced node invisible just to the cameras whose camera_mask shares the indicated bits. More...
 
 hideBounds ()
 Stops the rendering of the bounding volume begun with show_bounds(). More...
 
NodePath instanceTo (const NodePath other, int sort, Thread current_thread)
 Adds the referenced node of the NodePath as a child of the referenced node of the indicated other NodePath. More...
 
NodePath instanceUnderNode (const NodePath other, str name, int sort, Thread current_thread)
 Behaves like instance_to(), but implicitly creates a new node to instance the geometry under, and returns a NodePath to that new node. More...
 
bool isAncestorOf (const NodePath other, Thread current_thread)
 Returns true if the node represented by this NodePath is a parent or other ancestor of the other NodePath, or false if it is not. More...
 
bool isEmpty ()
 Returns true if the NodePath contains no nodes. More...
 
bool isHidden (DrawMask camera_mask)
 Returns true if the referenced node is hidden from the indicated camera(s) either directly, or because some ancestor is hidden. More...
 
bool isSameGraph (const NodePath other, Thread current_thread)
 Returns true if the node represented by this NodePath is parented within the same graph as that of the other NodePath. More...
 
bool isSingleton (Thread current_thread)
 Returns true if the NodePath contains exactly one node. More...
 
bool isStashed ()
 Returns true if the referenced node is stashed either directly, or because some ancestor is stashed. More...
 
 listTags ()
 Lists the tags to the nout stream, one per line. More...
 
 lookAt (const LPoint3 point, const LVector3 up)
 Sets the hpr on this NodePath so that it rotates to face the indicated point in space. More...
 
 lookAt (const NodePath other, const LPoint3 point, const LVector3 up)
 Sets the transform on this NodePath so that it rotates to face the indicated point in space, which is relative to the other NodePath. More...
 
 lookAt (const NodePath other, float x, float y, float z)
 Sets the hpr on this NodePath so that it rotates to face the indicated point in space, which is relative to the other NodePath. More...
 
 lookAt (float x, float y, float z)
 Sets the transform on this NodePath so that it rotates to face the indicated point in space. More...
 
 ls ()
 Lists the hierarchy at and below the referenced node. More...
 
 ls (Ostream out, int indent_level)
 Lists the hierarchy at and below the referenced node. More...
 
PandaNode node ()
 Returns the referenced node of the path. More...
 
bool operator != (const NodePath other)
 
bool operator != (const WeakNodePath other)
 
bool operator< (const NodePath other)
 
bool operator< (const WeakNodePath other)
 
NodePath operator= (NodePath from)
 
NodePath operator= (const NodePath copy)
 
bool operator== (const NodePath other)
 
bool operator== (const WeakNodePath other)
 
 output (Ostream out)
 Writes a sensible description of the NodePath to the indicated output stream. More...
 
 premungeScene (GraphicsStateGuardianBase gsg)
 Walks through the scene graph beginning at the bottom node, and internally adjusts any GeomVertexFormats for optimal rendering on the indicated GSG. More...
 
 prepareScene (GraphicsStateGuardianBase gsg)
 Walks through the scene graph beginning at the bottom node, and does whatever initialization is required to render the scene properly with the indicated GSG. More...
 
 projectTexture (TextureStage stage, Texture tex, const NodePath projector)
 A convenience function to enable projective texturing at this node level and below, using the indicated NodePath (which should contain a LensNode) as the projector. More...
 
 removeNode (Thread current_thread)
 Disconnects the referenced node from the scene graph. More...
 
 reparentTo (const NodePath other, int sort, Thread current_thread)
 Removes the referenced node of the NodePath from its current parent and attaches it to the referenced node of the indicated NodePath. More...
 
 replaceMaterial (Material mat, Material new_mat)
 Recursively searches the scene graph for references to the given material, and replaces them with the new material. More...
 
 reverseLs ()
 Lists the hierarchy at and above the referenced node. More...
 
int reverseLs (Ostream out, int indent_level)
 Lists the hierarchy at and above the referenced node. More...
 
 setAllColorScale (float scale, int priority)
 Scales all the color components of the object by the same amount, darkening the object, without (much) affecting alpha. More...
 
 setAlphaScale (float scale, int priority)
 Sets the alpha scale component of the transform without (much) affecting the color scale. More...
 
 setAntialias (unsigned short int mode, int priority)
 Specifies the antialiasing type that should be applied at this node and below. More...
 
 setAttrib (const RenderAttrib attrib, int priority)
 Adds the indicated render attribute to the scene graph on this node. More...
 
 setAudioVolume (float volume, int priority)
 Sets the audio volume component of the transform. More...
 
 setAudioVolumeOff (int priority)
 Disables any audio volume attribute inherited from above. More...
 
 setBillboardAxis (const NodePath camera, float offset)
 Puts a billboard transition on the node such that it will rotate in two dimensions around the up axis, towards a specified "camera" instead of to the viewing camera. More...
 
 setBillboardAxis (float offset)
 Puts a billboard transition on the node such that it will rotate in two dimensions around the up axis. More...
 
 setBillboardPointEye (const NodePath camera, float offset, bool fixed_depth)
 Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the top of the camera, towards a specified "camera" instead of to the viewing camera. More...
 
 setBillboardPointEye (float offset, bool fixed_depth)
 Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the top of the camera. More...
 
 setBillboardPointWorld (const NodePath camera, float offset)
 Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the sky, towards a specified "camera" instead of to the viewing camera. More...
 
 setBillboardPointWorld (float offset)
 Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the sky. More...
 
 setBin (str bin_name, int draw_order, int priority)
 Assigns the geometry at this level and below to the named rendering bin. More...
 
 setClipPlane (const NodePath clip_plane, int priority)
 Adds the indicated clipping plane to the list of planes that apply to geometry at this node and below. More...
 
 setClipPlaneOff (const NodePath clip_plane, int priority)
 Sets the geometry at this level and below to render without being clipped by the indicated PlaneNode. More...
 
 setClipPlaneOff (int priority)
 Sets the geometry at this level and below to render using no clip_planes at all. More...
 
 setCollideMask (CollideMask new_mask, CollideMask bits_to_change, TypeHandle node_type)
 Recursively applies the indicated CollideMask to the into_collide_masks for all nodes at this level and below. More...
 
 setColor (const LColor color, int priority)
 Applies a scene-graph color to the referenced node. More...
 
 setColor (float r, float g, float b, float a, int priority)
 Applies a scene-graph color to the referenced node. More...
 
 setColorOff (int priority)
 Sets the geometry at this level and below to render using the geometry color. More...
 
 setColorScale (const LVecBase4 scale, int priority)
 Sets the color scale component of the transform, leaving translation and rotation untouched. More...
 
 setColorScale (float sx, float sy, float sz, float sa, int priority)
 Sets the color scale component of the transform. More...
 
 setColorScaleOff (int priority)
 Disables any color scale attribute inherited from above. More...
 
 setCompass (const NodePath reference)
 Puts a compass effect on the node, so that it will retain a fixed rotation relative to the reference node (or render if the reference node is empty) regardless of the transforms above it. More...
 
 setDepthOffset (int bias, int priority)
 This instructs the graphics driver to apply an offset or bias to the generated depth values for rendered polygons, before they are written to the depth buffer. More...
 
 setDepthTest (bool depth_test, int priority)
 Specifically sets or disables the testing of the depth buffer on this particular node. More...
 
 setDepthWrite (bool depth_write, int priority)
 Specifically sets or disables the writing to the depth buffer on this particular node. More...
 
 setEffect (const RenderEffect effect)
 Adds the indicated render effect to the scene graph on this node. More...
 
 setEffects (const RenderEffects effects)
 Sets the complete RenderEffects that will be applied this node. More...
 
 setFluidPos (const LVecBase3 pos)
 Sets the translation component, without changing the "previous" position, so that the collision system will see the node as moving fluidly from its previous position to its new position. More...
 
 setFluidPos (const NodePath other, const LVecBase3 pos)
 Sets the translation component of the transform, relative to the other node. More...
 
 setFluidPos (const NodePath other, float x, float y, float z)
 Sets the translation component, without changing the "previous" position, so that the collision system will see the node as moving fluidly from its previous position to its new position. More...
 
 setFluidPos (float x, float y, float z)
 Sets the translation component, without changing the "previous" position, so that the collision system will see the node as moving fluidly from its previous position to its new position. More...
 
 setFluidX (const NodePath other, float x)
 
 setFluidX (float x)
 
 setFluidY (const NodePath other, float y)
 
 setFluidY (float y)
 
 setFluidZ (const NodePath other, float z)
 
 setFluidZ (float z)
 
 setFog (Fog fog, int priority)
 Sets the geometry at this level and below to render using the indicated fog. More...
 
 setFogOff (int priority)
 Sets the geometry at this level and below to render using no fog. More...
 
 setH (const NodePath other, float h)
 
 setH (float h)
 
 setHpr (const LVecBase3 hpr)
 Sets the rotation component of the transform, leaving translation and scale untouched. More...
 
 setHpr (const NodePath other, const LVecBase3 hpr)
 Sets the rotation component of the transform, relative to the other node. More...
 
 setHpr (const NodePath other, float h, float p, float r)
 Sets the rotation component of the transform, relative to the other node. More...
 
 setHpr (float h, float p, float r)
 Sets the rotation component of the transform, leaving translation and scale untouched. More...
 
 setHprScale (const LVecBase3 hpr, const LVecBase3 scale)
 Sets the rotation and scale components of the transform, leaving translation untouched. More...
 
 setHprScale (const NodePath other, const LVecBase3 hpr, const LVecBase3 scale)
 Sets the rotation and scale components of the transform, leaving translation untouched. More...
 
 setHprScale (const NodePath other, float h, float p, float r, float sx, float sy, float sz)
 Sets the rotation and scale components of the transform, leaving translation untouched. More...
 
 setHprScale (float h, float p, float r, float sx, float sy, float sz)
 Sets the rotation and scale components of the transform, leaving translation untouched. More...
 
 setInstanceCount (int instance_count)
 Sets the geometry instance count, or 0 if geometry instancing should be disabled. More...
 
 setLight (const NodePath light, int priority)
 Adds the indicated Light or PolylightNode to the list of lights that illuminate geometry at this node and below. More...
 
 setLightOff (const NodePath light, int priority)
 Sets the geometry at this level and below to render without using the indicated Light. More...
 
 setLightOff (int priority)
 Sets the geometry at this level and below to render using no lights at all. More...
 
 setLogicOp (LogicOpAttrib::Operation op, int priority)
 Specifically sets or disables a logical operation on this particular node. More...
 
 setMat (const LMatrix4 mat)
 Directly sets an arbitrary 4x4 transform matrix. More...
 
 setMat (const NodePath other, const LMatrix4 mat)
 Converts the indicated matrix from the other's coordinate space to the local coordinate space, and applies it to the node. More...
 
 setMaterial (Material tex, int priority)
 Sets the geometry at this level and below to render using the indicated material. More...
 
 setMaterialOff (int priority)
 Sets the geometry at this level and below to render using no material. More...
 
 setName (str name)
 Changes the name of the referenced node. More...
 
 setOccluder (const NodePath occluder)
 Adds the indicated occluder to the list of occluders that apply to geometry at this node and below. More...
 
 setP (const NodePath other, float p)
 
 setP (float p)
 
 setPos (const LVecBase3 pos)
 Sets the translation component of the transform, leaving rotation and scale untouched. More...
 
 setPos (const NodePath other, const LVecBase3 pos)
 Sets the translation component of the transform, relative to the other node. More...
 
 setPos (const NodePath other, float x, float y, float z)
 Sets the translation component of the transform, relative to the other node. More...
 
 setPos (float x, float y, float z)
 Sets the translation component of the transform, leaving rotation and scale untouched. More...
 
 setPosHpr (const LVecBase3 pos, const LVecBase3 hpr)
 Sets the translation and rotation component of the transform, leaving scale untouched. More...
 
 setPosHpr (const NodePath other, const LVecBase3 pos, const LVecBase3 hpr)
 Sets the translation and rotation component of the transform, relative to the other node. More...
 
 setPosHpr (const NodePath other, float x, float y, float z, float h, float p, float r)
 Sets the translation and rotation component of the transform, relative to the other node. More...
 
 setPosHpr (float x, float y, float z, float h, float p, float r)
 Sets the translation and rotation component of the transform, leaving scale untouched. More...
 
 setPosHprScale (const LVecBase3 pos, const LVecBase3 hpr, const LVecBase3 scale)
 Replaces the translation, rotation, and scale components, implicitly setting shear to 0. More...
 
 setPosHprScale (const NodePath other, const LVecBase3 pos, const LVecBase3 hpr, const LVecBase3 scale)
 Completely replaces the transform with new translation, rotation, and scale components, relative to the other node, implicitly setting shear to 0. More...
 
 setPosHprScale (const NodePath other, float x, float y, float z, float h, float p, float r, float sx, float sy, float sz)
 Completely replaces the transform with new translation, rotation, and scale components, relative to the other node. More...
 
 setPosHprScale (float x, float y, float z, float h, float p, float r, float sx, float sy, float sz)
 Completely replaces the transform with new translation, rotation, and scale components. More...
 
 setPosHprScaleShear (const LVecBase3 pos, const LVecBase3 hpr, const LVecBase3 scale, const LVecBase3 shear)
 Completely replaces the transform with new translation, rotation, scale, and shear components. More...
 
 setPosHprScaleShear (const NodePath other, const LVecBase3 pos, const LVecBase3 hpr, const LVecBase3 scale, const LVecBase3 shear)
 Completely replaces the transform with new translation, rotation, scale, and shear components, relative to the other node. More...
 
 setPosQuat (const LVecBase3 pos, const LQuaternion quat)
 Sets the translation and rotation component of the transform, leaving scale untouched. More...
 
 setPosQuat (const NodePath other, const LVecBase3 pos, const LQuaternion quat)
 Sets the translation and rotation component of the transform, relative to the other node. More...
 
 setPosQuatScale (const LVecBase3 pos, const LQuaternion quat, const LVecBase3 scale)
 Replaces the translation, rotation, and scale components, implicitly setting shear to 0. More...
 
 setPosQuatScale (const NodePath other, const LVecBase3 pos, const LQuaternion quat, const LVecBase3 scale)
 Completely replaces the transform with new translation, rotation, and scale components, relative to the other node, implicitly setting shear to 0. More...
 
 setPosQuatScaleShear (const LVecBase3 pos, const LQuaternion quat, const LVecBase3 scale, const LVecBase3 shear)
 Completely replaces the transform with new translation, rotation, scale, and shear components. More...
 
 setPosQuatScaleShear (const NodePath other, const LVecBase3 pos, const LQuaternion quat, const LVecBase3 scale, const LVecBase3 shear)
 Completely replaces the transform with new translation, rotation, scale, and shear components, relative to the other node. More...
 
 setPrevTransform (const NodePath other, const TransformState transform, Thread current_thread)
 Sets the "previous" transform object on this node, relative to the other node. 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 keys, object value)
 
 setQuat (const LQuaternion quat)
 Sets the rotation component of the transform, leaving translation and scale untouched. More...
 
 setQuat (const NodePath other, const LQuaternion quat)
 Sets the rotation component of the transform, relative to the other node. More...
 
 setQuatScale (const LQuaternion quat, const LVecBase3 scale)
 Sets the rotation and scale components of the transform, leaving translation untouched. More...
 
 setQuatScale (const NodePath other, const LQuaternion quat, const LVecBase3 scale)
 Sets the rotation and scale components of the transform, leaving translation untouched. More...
 
 setR (const NodePath other, float r)
 
 setR (float r)
 
 setRenderMode (RenderModeAttrib::Mode mode, float thickness, int priority)
 Sets up the geometry at this level and below (unless overridden) to render in the specified mode and with the indicated line and/or point thickness. More...
 
 setRenderModeFilled (int priority)
 Sets up the geometry at this level and below (unless overridden) to render in filled (i.e. More...
 
 setRenderModeFilledWireframe (const LColor wireframe_color, int priority)
 Sets up the geometry at this level and below (unless overridden) to render in filled, but overlay the wireframe on top with a fixed color. More...
 
 setRenderModePerspective (bool perspective, int priority)
 Sets up the point geometry at this level and below to render as perspective sprites (that is, billboarded quads). More...
 
 setRenderModeThickness (float thickness, int priority)
 Sets up the point geometry at this level and below to render as thick points (that is, billboarded quads). More...
 
 setRenderModeWireframe (int priority)
 Sets up the geometry at this level and below (unless overridden) to render in wireframe mode. More...
 
 setSa (float sa)
 Sets the alpha scale component of the transform. More...
 
 setSb (float sb)
 Sets the blue scale component of the transform. More...
 
 setScale (const LVecBase3 scale)
 Sets the scale component of the transform, leaving translation and rotation untouched. More...
 
 setScale (const NodePath other, const LVecBase3 scale)
 Sets the scale component of the transform, relative to the other node. More...
 
 setScale (const NodePath other, float scale)
 Sets the scale component of the transform, relative to the other node. More...
 
 setScale (const NodePath other, float sx, float sy, float sz)
 Sets the scale component of the transform, relative to the other node. More...
 
 setScale (float scale)
 Sets the scale component of the transform, leaving translation and rotation untouched. More...
 
 setScale (float sx, float sy, float sz)
 
 setScissor (const LPoint3 a, const LPoint3 b)
 Sets up a scissor region on the nodes rendered at this level and below. More...
 
 setScissor (const LPoint3 a, const LPoint3 b, const LPoint3 c, const LPoint3 d)
 Sets up a scissor region on the nodes rendered at this level and below. More...
 
 setScissor (const NodePath other, const LPoint3 a, const LPoint3 b)
 Sets up a scissor region on the nodes rendered at this level and below. More...
 
 setScissor (const NodePath other, const LPoint3 a, const LPoint3 b, const LPoint3 c, const LPoint3 d)
 Sets up a scissor region on the nodes rendered at this level and below. More...
 
 setScissor (float left, float right, float bottom, float top)
 Sets up a scissor region on the nodes rendered at this level and below. More...
 
 setSg (float sg)
 Sets the alpha scale component of the transform. More...
 
 setShader (const Shader sha, int priority)
 
 setShaderAuto (BitMask32 shader_switch, int priority)
 overloaded for auto shader customization More...
 
 setShaderAuto (int priority)
 
 setShaderInput (const InternalName id, float n1, float n2, float n3, float n4, int priority)
 
 setShaderInput (const InternalName, object, int priority)
 
 setShaderInput (const InternalName id, Texture tex, const SamplerState sampler, int priority)
 
 setShaderInput (const InternalName id, Texture tex, bool read, bool write, int z, int n, int priority)
 
 setShaderInput (const InternalName id, int n1, int n2, int n3, int n4, int priority)
 
 setShaderInput (ShaderInput input)
 
 setShaderInput (const ShaderInput input)
 
 setShaderInputs (object args, object kwargs)
 
 setShaderOff (int priority)
 
 setShear (const LVecBase3 shear)
 Sets the shear component of the transform, leaving translation and rotation untouched. More...
 
 setShear (const NodePath other, const LVecBase3 shear)
 Sets the shear component of the transform, relative to the other node. More...
 
 setShear (const NodePath other, float shxy, float shxz, float shyz)
 Sets the shear component of the transform, relative to the other node. More...
 
 setShear (float shxy, float shxz, float shyz)
 Sets the shear component of the transform, leaving translation, rotation, and scale untouched. More...
 
 setShxy (const NodePath other, float shxy)
 
 setShxy (float shxy)
 
 setShxz (const NodePath other, float shxz)
 
 setShxz (float shxz)
 
 setShyz (const NodePath other, float shyz)
 
 setShyz (float shyz)
 
 setSr (float sr)
 Sets the red scale component of the transform. More...
 
 setState (const NodePath other, const RenderState state, Thread current_thread)
 Sets the state object on this node, relative to the other node. More...
 
 setState (const RenderState state, Thread current_thread)
 Changes the complete state object on this node. More...
 
 setSx (const NodePath other, float sx)
 
 setSx (float sx)
 
 setSy (const NodePath other, float sy)
 
 setSy (float sy)
 
 setSz (const NodePath other, float sz)
 
 setSz (float sz)
 
 setTag (str key, str value)
 Associates a user-defined value with a user-defined key which is stored on the node. More...
 
 setTexGen (TextureStage stage, RenderAttrib::TexGenMode mode, const LTexCoord3 constant_value, int priority)
 Enables automatic texture coordinate generation for the indicated texture stage. More...
 
 setTexGen (TextureStage stage, RenderAttrib::TexGenMode mode, int priority)
 Enables automatic texture coordinate generation for the indicated texture stage. More...
 
 setTexHpr (const NodePath other, TextureStage stage, const LVecBase3 hpr)
 Sets a texture matrix on the current node to apply the indicated rotation, as a 3-D HPR, to UVW's for the given stage. More...
 
 setTexHpr (const NodePath other, TextureStage stage, float h, float p, float r)
 Sets a texture matrix on the current node to apply the indicated rotation, as a 3-D HPR, to UVW's for the given stage. More...
 
 setTexHpr (TextureStage stage, const LVecBase3 hpr)
 Sets a texture matrix on the current node to apply the indicated rotation, as a 3-D HPR, to UVW's for the given stage. More...
 
 setTexHpr (TextureStage stage, float h, float p, float r)
 Sets a texture matrix on the current node to apply the indicated rotation, as a 3-D HPR, to UVW's for the given stage. More...
 
 setTexOffset (const NodePath other, TextureStage stage, const LVecBase2 uv)
 Sets a texture matrix on the current node to apply the indicated offset to UV's for the given stage. More...
 
 setTexOffset (const NodePath other, TextureStage stage, float u, float v)
 Sets a texture matrix on the current node to apply the indicated offset to UV's for the given stage. More...
 
 setTexOffset (TextureStage stage, const LVecBase2 uv)
 Sets a texture matrix on the current node to apply the indicated offset to UV's for the given stage. More...
 
 setTexOffset (TextureStage stage, float u, float v)
 Sets a texture matrix on the current node to apply the indicated offset to UV's for the given stage. More...
 
 setTexPos (const NodePath other, TextureStage stage, const LVecBase3 uvw)
 Sets a texture matrix on the current node to apply the indicated offset to UVW's for the given stage. More...
 
 setTexPos (const NodePath other, TextureStage stage, float u, float v, float w)
 Sets a texture matrix on the current node to apply the indicated offset to UVW's for the given stage. More...
 
 setTexPos (TextureStage stage, const LVecBase3 uvw)
 Sets a texture matrix on the current node to apply the indicated offset to UVW's for the given stage. More...
 
 setTexPos (TextureStage stage, float u, float v, float w)
 Sets a texture matrix on the current node to apply the indicated offset to UVW's for the given stage. More...
 
 setTexProjector (TextureStage stage, const NodePath from, const NodePath to, int lens_index)
 Establishes a TexProjectorEffect on this node, which can be used to establish projective texturing (but see also the NodePath::project_texture() convenience function), or it can be used to bind this node's texture transform to particular node's position in space, allowing a LerpInterval (for instance) to adjust this node's texture coordinates. More...
 
 setTexRotate (const NodePath other, TextureStage stage, float r)
 Sets a texture matrix on the current node to apply the indicated rotation, clockwise in degrees, to UV's for the given stage. More...
 
 setTexRotate (TextureStage stage, float r)
 Sets a texture matrix on the current node to apply the indicated rotation, clockwise in degrees, to UV's for the given stage. More...
 
 setTexScale (const NodePath other, TextureStage stage, const LVecBase2 scale)
 Sets a texture matrix on the current node to apply the indicated scale to UV's for the given stage. More...
 
 setTexScale (const NodePath other, TextureStage stage, const LVecBase3 scale)
 Sets a texture matrix on the current node to apply the indicated scale to UVW's for the given stage. More...
 
 setTexScale (const NodePath other, TextureStage stage, float scale)
 Sets a texture matrix on the current node to apply the indicated scale to UV's for the given stage. More...
 
 setTexScale (const NodePath other, TextureStage stage, float su, float sv)
 Sets a texture matrix on the current node to apply the indicated scale to UV's for the given stage. More...
 
 setTexScale (const NodePath other, TextureStage stage, float su, float sv, float sw)
 Sets a texture matrix on the current node to apply the indicated scale to UVW's for the given stage. More...
 
 setTexScale (TextureStage stage, const LVecBase2 scale)
 Sets a texture matrix on the current node to apply the indicated scale to UV's for the given stage. More...
 
 setTexScale (TextureStage stage, const LVecBase3 scale)
 Sets a texture matrix on the current node to apply the indicated scale to UVW's for the given stage. More...
 
 setTexScale (TextureStage stage, float scale)
 Sets a texture matrix on the current node to apply the indicated scale to UVW's for the given stage. More...
 
 setTexScale (TextureStage stage, float su, float sv)
 Sets a texture matrix on the current node to apply the indicated scale to UV's for the given stage. More...
 
 setTexScale (TextureStage stage, float su, float sv, float sw)
 Sets a texture matrix on the current node to apply the indicated scale to UVW's for the given stage. More...
 
 setTexTransform (const NodePath other, TextureStage stage, const TransformState transform)
 Sets the texture matrix on the current node to the indicated transform for the given stage. More...
 
 setTexTransform (TextureStage stage, const TransformState transform)
 Sets the texture matrix on the current node to the indicated transform for the given stage. More...
 
 setTexture (Texture tex, const SamplerState sampler, int priority)
 Adds the indicated texture to the list of textures that will be rendered on the default texture stage. More...
 
 setTexture (Texture tex, int priority)
 Adds the indicated texture to the list of textures that will be rendered on the default texture stage. More...
 
 setTexture (TextureStage stage, Texture tex, const SamplerState sampler, int priority)
 Adds the indicated texture to the list of textures that will be rendered on the indicated multitexture stage. More...
 
 setTexture (TextureStage stage, Texture tex, int priority)
 Adds the indicated texture to the list of textures that will be rendered on the indicated multitexture stage. More...
 
 setTextureOff (TextureStage stage, int priority)
 Sets the geometry at this level and below to render using no texture, on the indicated stage. More...
 
 setTextureOff (int priority)
 Sets the geometry at this level and below to render using no texture, on any stage. More...
 
 setTransform (const NodePath other, const TransformState transform, Thread current_thread)
 Sets the transform object on this node, relative to the other node. More...
 
 setTransform (const TransformState transform, Thread current_thread)
 Changes the complete transform object on this node. More...
 
 setTransparency (TransparencyAttrib::Mode mode, int priority)
 Specifically sets or disables transparent rendering mode on this particular node. More...
 
 setTwoSided (bool two_sided, int priority)
 Specifically sets or disables two-sided rendering mode on this particular node. More...
 
 setX (const NodePath other, float x)
 
 setX (float x)
 
 setY (const NodePath other, float y)
 
 setY (float y)
 
 setZ (const NodePath other, float z)
 
 setZ (float z)
 
 show ()
 Undoes the effect of a previous hide() on this node: makes the referenced node (and the entire subgraph below this node) visible to all cameras. More...
 
 show (DrawMask camera_mask)
 Makes the referenced node visible just to the cameras whose camera_mask shares the indicated bits. More...
 
 showBounds ()
 Causes the bounding volume of the bottom node and all of its descendants (that is, the bounding volume associated with the the bottom arc) to be rendered, if possible. More...
 
 showThrough ()
 Makes the referenced node visible just to the cameras whose camera_mask shares the indicated bits. More...
 
 showThrough (DrawMask camera_mask)
 Makes the referenced node visible just to the cameras whose camera_mask shares the indicated bits. More...
 
 showTightBounds ()
 Similar to show_bounds(), this draws a bounding box representing the "tight" bounds of this node and all of its descendants. More...
 
 stash (int sort, Thread current_thread)
 Removes the referenced node (and the entire subgraph below this node) from the scene graph in any normal sense. More...
 
 stashTo (const NodePath other, int sort, Thread current_thread)
 Similar to reparent_to(), but the node is added to its new parent's stashed list, so that the result is equivalent to calling reparent_to() immediately followed by stash(). More...
 
 unifyTextureStages (TextureStage stage)
 Searches through all TextureStages at this node and below. More...
 
 unstash (int sort, Thread current_thread)
 Undoes the effect of a previous stash() on this node: makes the referenced node (and the entire subgraph below this node) once again part of the scene graph. More...
 
 unstashAll (Thread current_thread)
 Unstashes this node and all stashed child nodes. More...
 
bool verifyComplete (Thread current_thread)
 Returns true if all of the nodes described in the NodePath are connected, or false otherwise. More...
 
bool writeBamFile (const Filename filename)
 Writes the contents of this node and below out to a bam file with the indicated filename. More...
 
bool writeBamStream (Ostream out)
 Writes the contents of this node and below out to the indicated stream. More...
 
 writeBounds (Ostream out)
 Writes a description of the bounding volume containing the bottom node and all of its descendants to the indicated output stream. More...
 
 wrtReparentTo (const NodePath other, int sort, Thread current_thread)
 This functions identically to reparent_to(), except the transform on this node is also adjusted so that the node remains in the same place in world coordinates, even if it is reparented into a different coordinate system. More...
 

Static Public Member Functions

static NodePath anyPath (PandaNode node, Thread current_thread)
 Returns a new NodePath that represents any arbitrary path from the root to the indicated node. More...
 
static NodePath decodeFromBamStream (VectorUchar data, BamReader reader)
 Reads the string created by a previous call to encode_to_bam_stream(), and extracts and returns the NodePath on that string. More...
 
static NodePath fail ()
 Creates a NodePath with the ET_fail error type set. More...
 
static TypeHandle getClassType ()
 
static int getMaxSearchDepth ()
 Returns the current setting of the search depth limit. More...
 
static NodePath notFound ()
 Creates a NodePath with the ET_not_found error type set. More...
 
static NodePath removed ()
 Creates a NodePath with the ET_removed error type set. More...
 
static setMaxSearchDepth (int max_search_depth)
 Certain operations, such as find() or find_all_matches(), require a traversal of the scene graph to search for the target node or nodes. More...
 

Public Attributes

NodePath ancestors []
 
NodePathCollection children
 Returns the set of all child nodes of the referenced node. More...
 
NodePath::ErrorType error_type
 If is_empty() is true, this returns a code that represents the reason why the NodePath is empty. More...
 
String name
 Returns the name of the referenced node. More...
 
String net_tags []
 
PandaNode nodes []
 
NodePath parent
 Returns the NodePath to the parent of the referenced node: that is, this NodePath, shortened by one node. More...
 
object python_tags
 
int sort
 Returns the sort value of the referenced node within its parent; that is, the sort number passed on the last reparenting operation for this node. More...
 
NodePathCollection stashed_children
 Returns the set of all child nodes of the referenced node that have been stashed. More...
 
object tags
 

Detailed Description

NodePath is the fundamental system for disambiguating instances, and also provides a higher-level interface for manipulating the scene graph.

A NodePath is a list of connected nodes from the root of the graph to any sub-node. Each NodePath therefore uniquely describes one instance of a node.

NodePaths themselves are lightweight objects that may easily be copied and passed by value. Their data is stored as a series of NodePathComponents that are stored on the nodes. Holding a NodePath will keep a reference count to all the nodes in the path. However, if any node in the path is removed or reparented (perhaps through a different NodePath), the NodePath will automatically be updated to reflect the changes.

Member Enumeration Documentation

◆ ErrorType

enum ErrorType
Enumerator
ET_ok 

i.e. not empty, or never assigned to anything.

ET_not_found 

returned from a failed find() or similar function.

ET_removed 

remove_node() was previously called on this NodePath.

ET_fail 

general failure return from some function.

Member Function Documentation

◆ __copy__()

NodePath __copy__ ( )

◆ __deepcopy__()

object __deepcopy__ ( object  memo)

◆ __init__() [1/6]

__init__ ( )

This constructs an empty NodePath with no nodes.

◆ __init__() [2/6]

__init__ ( NodePath  from)

◆ __init__() [3/6]

__init__ ( const NodePath  copy)

◆ __init__() [4/6]

__init__ ( const NodePath  parent,
PandaNode  child_node,
Thread  current_thread 
)

Constructs a NodePath with the indicated parent NodePath and child node; the child node must be a stashed or unstashed child of the parent.

◆ __init__() [5/6]

__init__ ( PandaNode  node,
Thread  current_thread 
)

This constructs a NodePath for the indicated node.

If the node does not have any parents, this creates a singleton NodePath; otherwise, it automatically finds the path from the node to the root. If the node has multiple paths to the root, one path is chosen arbitrarily and a warning message is printed (but see also NodePath::any_path(), below).

◆ __init__() [6/6]

__init__ ( str  top_node_name,
Thread  current_thread 
)

This constructs a new NodePath with a single node.

An ordinary, unattached PandaNode is created with the indicated name.

◆ __reduce__()

object __reduce__ ( )

◆ __reduce_persist__()

object __reduce_persist__ ( object  pickler)

◆ __traverse__()

int __traverse__ ( Visitproc  visit,
void  arg 
)

◆ addHash()

int addHash ( int  hash)

Adds the NodePath into the running hash.

This is intended to be used by lower-level code that computes a hash for each NodePath. It modifies the hash value passed in by a unique adjustment for each NodePath, and returns the modified hash.

This is similar to the unique integer returned by get_key(), but it is not guaranteed to remain unique beyond the lifetime of this particular NodePath. Once this NodePath destructs, a different NodePath may be created which shares the same hash value.

◆ adjustAllPriorities()

adjustAllPriorities ( int  adjustment)

Adds the indicated adjustment amount (which may be negative) to the priority for all transitions on the referenced node, and for all nodes in the subgraph below.

This can be used to force these nodes not to be overridden by a high-level state change above. If the priority would drop below zero, it is set to zero.

◆ anyPath()

static NodePath anyPath ( PandaNode  node,
Thread  current_thread 
)
static

Returns a new NodePath that represents any arbitrary path from the root to the indicated node.

This is the same thing that would be returned by NodePath(node), except that no warning is issued if the path is ambiguous.

◆ applyTextureColors()

applyTextureColors ( )

Removes textures from Geoms at this node and below by applying the texture colors to the vertices.

This is primarily useful to simplify a low-LOD model. The texture colors are replaced by flat colors that approximate the original textures.

Only the bottommost texture on each Geom is used (if there is more than one), and it is applied as if it were M_modulate, and WM_repeat, regardless of its actual settings. If the texture has a simple_ram_image, this may be used if the main image isn't resident.

After this call, there will be no texturing specified at this level and below. Of course, there might still be texturing inherited from above.

◆ attachNewNode() [1/2]

NodePath attachNewNode ( PandaNode  node,
int  sort,
Thread  current_thread 
)

Attaches a new node, with or without existing parents, to the scene graph below the referenced node of this NodePath.

This is the preferred way to add nodes to the graph.

If the node was already a child of the parent, this returns a NodePath to the existing child.

This does not automatically extend the current NodePath to reflect the attachment; however, a NodePath that does reflect this extension is returned.

◆ attachNewNode() [2/2]

NodePath attachNewNode ( str  name,
int  sort,
Thread  current_thread 
)

Creates an ordinary PandaNode and attaches it below the current NodePath, returning a new NodePath that references it.

◆ calcTightBounds()

bool calcTightBounds ( LPoint3  min_point,
LPoint3  max_point,
const NodePath  other,
Thread  current_thread 
)

Calculates the minimum and maximum vertices of all Geoms at this NodePath's bottom node and below.

This is a tight bounding box; it will generally be tighter than the bounding volume returned by get_bounds() (but it is more expensive to compute).

The bounding box is computed relative to the parent node's coordinate system by default. You can optionally specify a different NodePath to compute the bounds relative to. Note that the box is always axis-aligned against the given NodePath's coordinate system, so you might get a differently sized box depending on which node you pass.

The return value is true if any points are within the bounding volume, or false if none are.

◆ clear()

clear ( )

Sets this NodePath to the empty NodePath.

It will no longer point to any node.

◆ clearAntialias()

clearAntialias ( )

Completely removes any antialias setting that may have been set on this node via set_antialias().

◆ clearAttrib()

clearAttrib ( TypeHandle  type)

Removes the render attribute of the given type from this node.

This node, and the subgraph below, will now inherit the indicated render attribute from the nodes above this one.

◆ clearAudioVolume()

clearAudioVolume ( )

Completely removes any audio volume from the referenced node.

This is preferable to simply setting the audio volume to identity, as it also removes the overhead associated with having an audio volume at all.

◆ clearBillboard()

clearBillboard ( )

Removes any billboard effect from the node.

◆ clearBin()

clearBin ( )

Completely removes any bin adjustment that may have been set via set_bin() from this particular node.

◆ clearClipPlane() [1/2]

clearClipPlane ( )

Completely removes any clip planes that may have been set via set_clip_plane() or set_clip_plane_off() from this particular node.

◆ clearClipPlane() [2/2]

clearClipPlane ( const NodePath  clip_plane)

Removes any reference to the indicated clipping plane from the NodePath.

◆ clearColor()

clearColor ( )

Completely removes any color adjustment from the node.

This allows the natural color of the geometry, or whatever color transitions might be otherwise affecting the geometry, to show instead.

◆ clearColorScale()

clearColorScale ( )

Completely removes any color scale from the referenced node.

This is preferable to simply setting the color scale to identity, as it also removes the overhead associated with having a color scale at all.

◆ clearCompass()

clearCompass ( )

Removes any compass effect from the node.

◆ clearDepthOffset()

clearDepthOffset ( )

Completely removes any depth-offset adjustment that may have been set on this node via set_depth_offset().

◆ clearDepthTest()

clearDepthTest ( )

Completely removes any depth-test adjustment that may have been set on this node via set_depth_test().

◆ clearDepthWrite()

clearDepthWrite ( )

Completely removes any depth-write adjustment that may have been set on this node via set_depth_write().

◆ clearEffect()

clearEffect ( TypeHandle  type)

Removes the render effect of the given type from this node.

◆ clearEffects()

clearEffects ( )

Resets this node to have no render effects.

◆ clearFog()

clearFog ( )

Completely removes any fog adjustment that may have been set via set_fog() or set_fog_off() from this particular node.

This allows whatever fogs might be otherwise affecting the geometry to show instead.

◆ clearLight() [1/2]

clearLight ( )

Completely removes any lighting operations that may have been set via set_light() or set_light_off() from this particular node.

◆ clearLight() [2/2]

clearLight ( const NodePath  light)

Removes any reference to the indicated Light or PolylightNode from the NodePath.

◆ clearLogicOp()

clearLogicOp ( )

Completely removes any logical operation that may have been set on this node via set_logic_op().

The geometry at this level and below will subsequently be rendered using standard color blending.

◆ clearMat()

clearMat ( )

Completely removes any transform from the referenced node.

◆ clearMaterial()

clearMaterial ( )

Completely removes any material adjustment that may have been set via set_material() from this particular node.

◆ clearModelNodes()

int clearModelNodes ( )

Recursively walks through the scene graph at this level and below, looking for ModelNodes, and calls model_node->set_preserve_transform(PT_drop_node) on each one.

This allows a subsequent call to flatten_strong() to eliminate all of the ModelNodes.

Returns the number of ModelNodes found.

◆ clearOccluder() [1/2]

clearOccluder ( )

Completely removes any occluders that may have been set via set_occluder() from this particular node.

◆ clearOccluder() [2/2]

clearOccluder ( const NodePath  occluder)

Removes any reference to the indicated occluder from the NodePath.

◆ clearProjectTexture()

clearProjectTexture ( TextureStage  stage)

Undoes the effect of project_texture().

◆ clearPythonTag()

clearPythonTag ( object  keys)

◆ clearRenderMode()

clearRenderMode ( )

Completely removes any render mode adjustment that may have been set on this node via set_render_mode_wireframe() or set_render_mode_filled().

◆ clearScissor()

clearScissor ( )

Removes the scissor region that was defined at this node level by a previous call to set_scissor().

◆ clearShader()

clearShader ( )

◆ clearShaderInput()

clearShaderInput ( const InternalName  id)

◆ clearTag()

clearTag ( str  key)

Removes the value defined for this key on this particular node.

After a call to clear_tag(), has_tag() will return false for the indicated key.

◆ clearTexGen() [1/2]

clearTexGen ( )

Removes the texture coordinate generation mode from all texture stages on this node.

◆ clearTexGen() [2/2]

clearTexGen ( TextureStage  stage)

Disables automatic texture coordinate generation for the indicated texture stage.

◆ clearTexProjector() [1/2]

clearTexProjector ( )

Removes the TexProjectorEffect for all stages from this node.

◆ clearTexProjector() [2/2]

clearTexProjector ( TextureStage  stage)

Removes the TexProjectorEffect for the indicated stage from this node.

◆ clearTexTransform() [1/2]

clearTexTransform ( )

Removes all texture matrices from the current node.

◆ clearTexTransform() [2/2]

clearTexTransform ( TextureStage  stage)

Removes the texture matrix on the current node for the given stage.

◆ clearTexture() [1/2]

clearTexture ( )

Completely removes any texture adjustment that may have been set via set_texture() or set_texture_off() from this particular node.

This allows whatever textures might be otherwise affecting the geometry to show instead.

◆ clearTexture() [2/2]

clearTexture ( TextureStage  stage)

Removes any reference to the indicated texture stage from the NodePath.

◆ clearTransform() [1/2]

clearTransform ( const NodePath  other,
Thread  current_thread 
)

Sets the transform object on this node to identity, relative to the other node.

This effectively places this node at the same position as the other node.

◆ clearTransform() [2/2]

clearTransform ( Thread  current_thread)

Sets the transform object on this node to identity.

◆ clearTransparency()

clearTransparency ( )

Completely removes any transparency adjustment that may have been set on this node via set_transparency().

The geometry at this level and below will subsequently be rendered either transparent or not, to whatever other nodes may have had set_transparency() on them.

◆ clearTwoSided()

clearTwoSided ( )

Completely removes any two-sided adjustment that may have been set on this node via set_two_sided().

The geometry at this level and below will subsequently be rendered either two-sided or one-sided, according to whatever other nodes may have had set_two_sided() on it, or according to the initial state otherwise.

◆ compareTo() [1/2]

int compareTo ( const NodePath  other)

Returns a number less than zero if this NodePath sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent.

Two NodePaths are considered equivalent if they consist of exactly the same list of nodes in the same order. Otherwise, they are different; different NodePaths will be ranked in a consistent but undefined ordering; the ordering is useful only for placing the NodePaths in a sorted container like an STL set.

◆ compareTo() [2/2]

int compareTo ( const WeakNodePath  other)

Returns a number less than zero if this NodePath sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent.

Two NodePaths are considered equivalent if they consist of exactly the same list of nodes in the same order. Otherwise, they are different; different NodePaths will be ranked in a consistent but undefined ordering; the ordering is useful only for placing the NodePaths in a sorted container like an STL set.

◆ composeColorScale() [1/2]

composeColorScale ( const LVecBase4  scale,
int  priority 
)

multiplies the color scale component of the transform, with previous color scale leaving translation and rotation untouched.

◆ composeColorScale() [2/2]

composeColorScale ( float  sx,
float  sy,
float  sz,
float  sa,
int  priority 
)

Sets the color scale component of the transform.

◆ copyTo()

NodePath copyTo ( const NodePath  other,
int  sort,
Thread  current_thread 
)

Functions like instance_to(), except a deep copy is made of the referenced node and all of its descendents, which is then parented to the indicated node.

A NodePath to the newly created copy is returned.

◆ countNumDescendants()

int countNumDescendants ( )

Returns the number of nodes at and below this level.

◆ decodeFromBamStream()

static NodePath decodeFromBamStream ( VectorUchar  data,
BamReader  reader 
)
static

Reads the string created by a previous call to encode_to_bam_stream(), and extracts and returns the NodePath on that string.

Returns NULL on error.

◆ detachNode()

detachNode ( Thread  current_thread)

Disconnects the referenced node from its parent, but does not immediately delete it.

The NodePath retains a pointer to the node, and becomes a singleton NodePath.

This should be called to detach a node from the scene graph, with the option of reattaching it later to the same parent or to a different parent.

In practice, the only difference between remove_node() and detach_node() is that remove_node() also resets the NodePath to empty, which will cause the node to be deleted immediately if there are no other references. On the other hand, detach_node() leaves the NodePath referencing the node, which will keep at least one reference to the node for as long as the NodePath exists.

◆ doBillboardAxis()

doBillboardAxis ( const NodePath  camera,
float  offset 
)

Performs a billboard-type rotate to the indicated camera node, one time only, and leaves the object rotated.

This is similar in principle to heads_up().

◆ doBillboardPointEye()

doBillboardPointEye ( const NodePath  camera,
float  offset 
)

Performs a billboard-type rotate to the indicated camera node, one time only, and leaves the object rotated.

This is similar in principle to look_at(), although the point_eye billboard effect cannot be achieved using the ordinary look_at() call.

◆ doBillboardPointWorld()

doBillboardPointWorld ( const NodePath  camera,
float  offset 
)

Performs a billboard-type rotate to the indicated camera node, one time only, and leaves the object rotated.

This is similar in principle to look_at().

◆ encodeToBamStream() [1/2]

VectorUchar encodeToBamStream ( )

Converts the NodePath object into a single stream of data using a BamWriter, and returns that data as a string string.

Returns empty string on failure. This is similar to write_bam_stream().

This method is used by reduce to handle streaming of NodePaths to a pickle file.

◆ encodeToBamStream() [2/2]

bool encodeToBamStream ( VectorUchar  data,
BamWriter  writer 
)

Converts the NodePath object into a single stream of data using a BamWriter, and stores that data in the indicated string.

Returns true on success, false on failure.

If the BamWriter is NULL, this behaves the same way as NodePath::write_bam_stream() and PandaNode::encode_to_bam_stream(), in the sense that it only writes this node and all nodes below it.

However, if the BamWriter is not NULL, it behaves very differently. In this case, it encodes the entire graph of all nodes connected to the NodePath, including all parent nodes and siblings. This is necessary for correct streaming of related NodePaths and restoration of instances, etc., but it does mean you must detach() a node before writing it if you want to limit the nodes that get written.

This method is used by reduce to handle streaming of NodePaths to a pickle file. The BamWriter case is used by the direct.stdpy.pickle module, while the saner, non-BamWriter case is used when the standard pickle module calls this function.

◆ fail()

static NodePath fail ( )
static

Creates a NodePath with the ET_fail error type set.

◆ find()

NodePath find ( str  path)

Searches for a node below the referenced node that matches the indicated string.

Returns the shortest match found, if any, or an empty NodePath if no match can be found.

◆ findAllMatches()

NodePathCollection findAllMatches ( str  path)

Returns the complete set of all NodePaths that begin with this NodePath and can be extended by path.

The shortest paths will be listed first.

◆ findAllMaterials() [1/2]

MaterialCollection findAllMaterials ( )

Returns a list of a materials applied to geometry at this node and below.

◆ findAllMaterials() [2/2]

MaterialCollection findAllMaterials ( str  name)

Returns a list of a materials applied to geometry at this node and below that match the indicated name (which may contain wildcard characters).

◆ findAllPathsTo()

NodePathCollection findAllPathsTo ( PandaNode  node)

Returns the set of all NodePaths that extend from this NodePath down to the indicated node.

The shortest paths will be listed first.

◆ findAllTexcoords() [1/2]

InternalNameCollection findAllTexcoords ( )

Returns a list of all texture coordinate sets used by any geometry at this node level and below.

◆ findAllTexcoords() [2/2]

InternalNameCollection findAllTexcoords ( str  name)

Returns a list of all texture coordinate sets used by any geometry at this node level and below that match the indicated name (which may contain wildcard characters).

◆ findAllTextures() [1/3]

TextureCollection findAllTextures ( )

Returns a list of a textures applied to geometry at this node and below.

◆ findAllTextures() [2/3]

TextureCollection findAllTextures ( TextureStage  stage)

Returns a list of a textures on geometry at this node and below that are assigned to the indicated texture stage.

◆ findAllTextures() [3/3]

TextureCollection findAllTextures ( str  name)

Returns a list of a textures applied to geometry at this node and below that match the indicated name (which may contain wildcard characters).

◆ findAllTextureStages() [1/2]

TextureStageCollection findAllTextureStages ( )

Returns a list of a TextureStages applied to geometry at this node and below.

◆ findAllTextureStages() [2/2]

TextureStageCollection findAllTextureStages ( str  name)

Returns a list of a TextureStages applied to geometry at this node and below that match the indicated name (which may contain wildcard characters).

◆ findAllVertexColumns() [1/2]

InternalNameCollection findAllVertexColumns ( )

Returns a list of all vertex array columns stored on some geometry found at this node level and below.

◆ findAllVertexColumns() [2/2]

InternalNameCollection findAllVertexColumns ( str  name)

Returns a list of all vertex array columns stored on some geometry found at this node level and below that match the indicated name (which may contain wildcard characters).

◆ findMaterial()

Material findMaterial ( str  name)

Returns the first material found applied to geometry at this node or below that matches the indicated name (which may contain wildcards).

Returns the material if it is found, or NULL if it is not.

◆ findNetPythonTag()

NodePath findNetPythonTag ( object  keys)

◆ findNetTag()

NodePath findNetTag ( str  key)

Returns the lowest ancestor of this node that contains a tag definition with the indicated key, if any, or an empty NodePath if no ancestor of this node contains this tag definition.

See set_tag().

◆ findPathTo()

NodePath findPathTo ( PandaNode  node)

Searches for the indicated node below this node and returns the shortest NodePath that connects them.

◆ findTexture() [1/2]

Texture findTexture ( TextureStage  stage)

Returns the first texture found applied to geometry at this node or below that is assigned to the indicated texture stage.

Returns the texture if it is found, or NULL if it is not.

◆ findTexture() [2/2]

Texture findTexture ( str  name)

Returns the first texture found applied to geometry at this node or below that matches the indicated name (which may contain wildcards).

Returns the texture if it is found, or NULL if it is not.

◆ findTextureStage()

TextureStage findTextureStage ( str  name)

Returns the first TextureStage found applied to geometry at this node or below that matches the indicated name (which may contain wildcards).

Returns the TextureStage if it is found, or NULL if it is not.

◆ flattenLight()

int flattenLight ( )

Lightly flattens out the hierarchy below this node by applying transforms, colors, and texture matrices from the nodes onto the vertices, but does not remove any nodes.

This can result in improved rendering performance because there will be fewer transforms in the resulting scene graph, but the number of nodes will remain the same.

In particular, any NodePaths that reference nodes within this hierarchy will not be damaged. However, since this operation will remove transforms from the scene graph, it may be dangerous to apply to nodes where you expect to dynamically modify the transform, or where you expect the geometry to remain in a particular local coordinate system.

The return value is always 0, since flatten_light does not remove any nodes.

◆ flattenMedium()

int flattenMedium ( )

A more thorough flattening than flatten_light(), this first applies all the transforms, colors, and texture matrices from the nodes onto the vertices, and then removes unneeded grouping nodes–nodes that have exactly one child, for instance, but have no special properties in themselves.

This results in improved performance over flatten_light() because the number of nodes in the scene graph is reduced.

The return value is the number of nodes removed.

◆ flattenStrong()

int flattenStrong ( )

The strongest possible flattening.

This first applies all of the transforms to the vertices, as in flatten_medium(), but then it will combine sibling nodes together when possible, in addition to removing unnecessary parent-child nodes. This can result in substantially fewer nodes, but any nicely-grouped hierachical bounding volumes may be lost.

It is generally a good idea to apply this kind of flattening only to nodes that will be culled largely as a single unit, like a car. Applying this to an entire scene may result in overall poorer performance because of less- effective culling.

◆ forceRecomputeBounds()

forceRecomputeBounds ( )

Forces the recomputing of all the bounding volumes at every node in the subgraph beginning at this node and below.

This should not normally need to be called, since the bounding volumes are supposed to be recomputed automatically when necessary. It may be useful when debugging, to verify that the bounding volumes have not become inadvertently stale; it may also be useful to force animated characters to update their bounding volumes (which does not presently happen automatically).

◆ getAncestor()

NodePath getAncestor ( int  index,
Thread  current_thread 
)

Returns the nth ancestor of the path, where 0 is the NodePath itself and get_num_nodes() - 1 is get_top().

This requires iterating through the path.

Also see get_node(), which returns the same thing as a PandaNode pointer, not a NodePath.

◆ getAncestors()

list getAncestors ( )

◆ getAntialias()

unsigned short int getAntialias ( )

Returns the antialias setting that has been specifically set on this node via set_antialias(), or M_none if no setting has been made.

◆ getAttrib()

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.

This checks only what is set on this particular node level, and has nothing to do with what render attributes may be inherited from parent nodes.

◆ getAudioVolume()

float getAudioVolume ( )

Returns the complete audio volume that has been applied to this node via a previous call to set_audio_volume(), or 1.

(identity) if no volume has been applied to this particular node.

◆ getBinDrawOrder()

int getBinDrawOrder ( )

Returns the drawing order associated with the bin that this particular node was assigned to via set_bin(), or 0 if no bin was assigned.

See set_bin() and has_bin().

◆ getBinName()

str getBinName ( )

Returns the name of the bin that this particular node was assigned to via set_bin(), or the empty string if no bin was assigned.

See set_bin() and has_bin().

◆ getBounds()

BoundingVolume getBounds ( Thread  current_thread)

Returns a newly-allocated bounding volume containing the bottom node and all of its descendants.

This is the bounding volume on the bottom arc, converted to the local coordinate space of the node.

◆ getChild()

NodePath getChild ( int  n,
Thread  current_thread 
)

Returns a NodePath representing the nth child of the referenced node.

◆ getChildren()

NodePathCollection getChildren ( Thread  current_thread)

Returns the set of all child nodes of the referenced node.

◆ getClassType()

static TypeHandle getClassType ( )
static

◆ getCollideMask()

CollideMask getCollideMask ( )

Returns the union of all of the into_collide_masks for nodes at this level and below.

This is the same thing as node()->get_net_collide_mask().

If you want to return what the into_collide_mask of this node itself is, without regard to its children, use node()->get_into_collide_mask().

◆ getColor()

LColor getColor ( )

Returns the color that has been assigned to the node, or black if no color has been assigned.

◆ getColorScale()

const LVecBase4 getColorScale ( )

Returns the complete color scale vector that has been applied to this node via a previous call to set_color_scale() and/or set_alpha_scale(), or all 1's (identity) if no scale has been applied to this particular node.

◆ getCommonAncestor()

NodePath getCommonAncestor ( const NodePath  other,
Thread  current_thread 
)

Returns the lowest NodePath that both of these two NodePaths have in common: the first ancestor that both of them share.

If the two NodePaths are unrelated, returns NodePath::not_found().

◆ getDepthOffset()

int getDepthOffset ( )

Returns the depth offset value if it has been specified using set_depth_offset, or 0 if not.

◆ getDepthTest()

bool getDepthTest ( )

Returns true if depth-test rendering has been specifically set on this node via set_depth_test(), or false if depth-test rendering has been specifically disabled.

If nothing has been specifically set, returns true. See also has_depth_test().

◆ getDepthWrite()

bool getDepthWrite ( )

Returns true if depth-write rendering has been specifically set on this node via set_depth_write(), or false if depth-write rendering has been specifically disabled.

If nothing has been specifically set, returns true. See also has_depth_write().

◆ getDistance()

float getDistance ( const NodePath  other)

Returns the straight-line distance between this referenced node's coordinate frame's origin, and that of the other node's origin.

◆ getEffect()

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.

◆ getEffects()

const RenderEffects getEffects ( )

Returns the complete RenderEffects that will be applied to this node.

◆ getErrorType()

NodePath::ErrorType getErrorType ( )

If is_empty() is true, this returns a code that represents the reason why the NodePath is empty.

◆ getFog()

Fog getFog ( )

Returns the fog that has been set on this particular node, or NULL if no fog has been set.

This is not necessarily the fog that will be applied to the geometry at or below this level, as another fog at a higher or lower level may override.

◆ getH() [1/2]

float getH ( )

◆ getH() [2/2]

float getH ( const NodePath  other)

◆ getHiddenAncestor()

NodePath getHiddenAncestor ( DrawMask  camera_mask,
Thread  current_thread 
)

Returns the NodePath at or above the referenced node that is hidden to the indicated camera(s), or an empty NodePath if no ancestor of the referenced node is hidden (and the node should be visible).

◆ getHpr() [1/2]

LVecBase3 getHpr ( )

Retrieves the rotation component of the transform.

◆ getHpr() [2/2]

LVecBase3 getHpr ( const NodePath  other)

Returns the relative orientation of the bottom node as seen from the other node.

◆ getInstanceCount()

int getInstanceCount ( )

Returns the geometry instance count, or 0 if disabled.

See set_instance_count.

◆ getKey()

int getKey ( )

Returns an integer that is guaranteed to be the same for all NodePaths that represent the same node instance, and different for all NodePaths that represent a different node instance.

The same key will be returned for a particular instance as long as at least one NodePath exists that represents that instance; if all NodePaths for a particular instance destruct and a new one is later created, it may have a different index. However, a given key will never be reused for a different instance (unless the app has been running long enough that we overflow the integer key value).

◆ getLogicOp()

LogicOpAttrib::Operation getLogicOp ( )

Returns the logical operation that has been specifically set on this node via set_logic_op(), or O_none if standard color blending has been specifically set, or if nothing has been specifically set.

See also has_logic_op(). This does not necessarily imply that the geometry will or will not be rendered with the given logical operation, as there may be other nodes that override.

◆ getMat() [1/2]

const LMatrix4 getMat ( )

Returns the transform matrix that has been applied to the referenced node, or the identity matrix if no matrix has been applied.

◆ getMat() [2/2]

LMatrix4 getMat ( const NodePath  other)

Returns the matrix that describes the coordinate space of the bottom node, relative to the other path's bottom node's coordinate space.

◆ getMaterial()

Material getMaterial ( )

Returns the material that has been set on this particular node, or NULL if no material has been set.

This is not necessarily the material that will be applied to the geometry at or below this level, as another material at a higher or lower level may override.

See also find_material().

◆ getMaxSearchDepth()

static int getMaxSearchDepth ( )
static

Returns the current setting of the search depth limit.

See set_max_search_depth.

◆ getName()

str getName ( )

Returns the name of the referenced node.

◆ getNetAudioVolume()

float getNetAudioVolume ( )

Returns the complete audio volume for this node taking highers nodes in the graph into account.

◆ getNetPrevTransform()

const TransformState getNetPrevTransform ( Thread  current_thread)

Returns the net "previous" transform on this node from the root.

See set_prev_transform().

◆ getNetPythonTag()

object getNetPythonTag ( object  keys)

◆ getNetState()

const RenderState getNetState ( Thread  current_thread)

Returns the net state on this node from the root.

◆ getNetTag()

str getNetTag ( str  key)

Returns the tag value that has been defined on this node, or the nearest ancestor node, for the indicated key.

If no value has been defined for the indicated key on any ancestor node, returns the empty string. See also get_tag().

◆ getNetTransform()

const TransformState getNetTransform ( Thread  current_thread)

Returns the net transform on this node from the root.

◆ getNode()

PandaNode getNode ( int  index,
Thread  current_thread 
)

Returns the nth node of the path, where 0 is the referenced (bottom) node and get_num_nodes() - 1 is the top node.

This requires iterating through the path.

Also see node(), which is a convenience function to return the same thing as get_node(0) (since the bottom node is the most important node in the NodePath, and is the one most frequently referenced).

Note that this function returns the same thing as get_ancestor(index).node().

◆ getNodes()

list getNodes ( )

◆ getNumChildren()

int getNumChildren ( Thread  current_thread)

Returns the number of children of the referenced node.

◆ getNumNodes()

int getNumNodes ( Thread  current_thread)

Returns the number of nodes in the path.

◆ getP() [1/2]

float getP ( )

◆ getP() [2/2]

float getP ( const NodePath  other)

◆ getParent()

NodePath getParent ( Thread  current_thread)

Returns the NodePath to the parent of the referenced node: that is, this NodePath, shortened by one node.

The parent of a singleton NodePath is defined to be the empty NodePath.

◆ getPos() [1/2]

LPoint3 getPos ( )

Retrieves the translation component of the transform.

◆ getPos() [2/2]

LPoint3 getPos ( const NodePath  other)

Returns the relative position of the referenced node as seen from the other node.

◆ getPosDelta() [1/2]

LVector3 getPosDelta ( )

Returns the delta vector from this node's position in the previous frame (according to set_prev_transform(), typically set via the use of set_fluid_pos()) and its position in the current frame.

This is the vector used to determine collisions. Generally, if the node was last repositioned via set_pos(), the delta will be zero; if it was adjusted via set_fluid_pos(), the delta will represent the change from the previous frame's position.

◆ getPosDelta() [2/2]

LVector3 getPosDelta ( const NodePath  other)

Returns the delta vector from this node's position in the previous frame (according to set_prev_transform(), typically set via the use of set_fluid_pos()) and its position in the current frame, as seen in the indicated node's coordinate space.

This is the vector used to determine collisions. Generally, if the node was last repositioned via set_pos(), the delta will be zero; if it was adjusted via set_fluid_pos(), the delta will represent the change from the previous frame's position.

◆ getPrevTransform() [1/2]

const TransformState getPrevTransform ( const NodePath  other,
Thread  current_thread 
)

Returns the relative "previous" transform to this node from the other node; i.e.

the position of this node in the previous frame, as seen by the other node in the previous frame.

◆ getPrevTransform() [2/2]

const TransformState getPrevTransform ( Thread  current_thread)

Returns the transform that has been set as this node's "previous" position.

See set_prev_transform().

◆ getPythonTag()

object getPythonTag ( object  keys)

◆ getPythonTagKeys()

object getPythonTagKeys ( )

◆ getPythonTags()

object getPythonTags ( )

◆ getQuat() [1/2]

LQuaternion getQuat ( )

Retrieves the rotation component of the transform.

◆ getQuat() [2/2]

LQuaternion getQuat ( const NodePath  other)

Returns the relative orientation of the bottom node as seen from the other node.

◆ getR() [1/2]

float getR ( )

◆ getR() [2/2]

float getR ( const NodePath  other)

◆ getRelativePoint()

LPoint3 getRelativePoint ( const NodePath  other,
const LVecBase3  point 
)

Given that the indicated point is in the coordinate system of the other node, returns the same point in this node's coordinate system.

◆ getRelativeVector()

LVector3 getRelativeVector ( const NodePath  other,
const LVecBase3  vec 
)

Given that the indicated vector is in the coordinate system of the other node, returns the same vector in this node's coordinate system.

◆ getRenderMode()

RenderModeAttrib::Mode getRenderMode ( )

Returns the render mode that has been specifically set on this node via set_render_mode(), or M_unchanged if nothing has been set.

◆ getRenderModePerspective()

bool getRenderModePerspective ( )

Returns the flag that has been set on this node via set_render_mode_perspective(), or false if no flag has been set.

◆ getRenderModeThickness()

float getRenderModeThickness ( )

Returns the render mode thickness that has been specifically set on this node via set_render_mode(), or 1.0 if nothing has been set.

◆ getSa()

float getSa ( )

Gets the alpha scale component of the transform.

◆ getSb()

float getSb ( )

Gets the blue scale component of the transform.

◆ getScale() [1/2]

LVecBase3 getScale ( )

Retrieves the scale component of the transform.

◆ getScale() [2/2]

LVecBase3 getScale ( const NodePath  other)

Returns the relative scale of the bottom node as seen from the other node.

◆ getSg()

float getSg ( )

Gets the green scale component of the transform.

◆ getShader()

const Shader getShader ( )

◆ getShaderInput()

ShaderInput getShaderInput ( const InternalName  id)

◆ getShear() [1/2]

LVecBase3 getShear ( )

Retrieves the shear component of the transform.

◆ getShear() [2/2]

LVecBase3 getShear ( const NodePath  other)

Returns the relative shear of the bottom node as seen from the other node.

◆ getShxy() [1/2]

float getShxy ( )

◆ getShxy() [2/2]

float getShxy ( const NodePath  other)

Returns the relative shear of the referenced node as seen from the other node.

◆ getShxz() [1/2]

float getShxz ( )

◆ getShxz() [2/2]

float getShxz ( const NodePath  other)

◆ getShyz() [1/2]

float getShyz ( )

◆ getShyz() [2/2]

float getShyz ( const NodePath  other)

◆ getSort()

int getSort ( Thread  current_thread)

Returns the sort value of the referenced node within its parent; that is, the sort number passed on the last reparenting operation for this node.

This will control the position of the node within its parent's list of children.

◆ getSr()

float getSr ( )

Gets the red scale component of the transform.

◆ getStashedAncestor()

NodePath getStashedAncestor ( Thread  current_thread)

Returns the NodePath at or above the referenced node that is stashed, or an empty NodePath if no ancestor of the referenced node is stashed (and the node should be visible).

◆ getStashedChildren()

NodePathCollection getStashedChildren ( Thread  current_thread)

Returns the set of all child nodes of the referenced node that have been stashed.

These children are not normally visible on the node, and do not appear in the list returned by get_children().

◆ getState() [1/2]

const RenderState getState ( const NodePath  other,
Thread  current_thread 
)

Returns the state changes that must be made to transition to the render state of this node from the render state of the other node.

◆ getState() [2/2]

const RenderState getState ( Thread  current_thread)

Returns the complete state object set on this node.

◆ getSx() [1/2]

float getSx ( )

◆ getSx() [2/2]

float getSx ( const NodePath  other)

Returns the relative scale of the referenced node as seen from the other node.

◆ getSy() [1/2]

float getSy ( )

◆ getSy() [2/2]

float getSy ( const NodePath  other)

◆ getSz() [1/2]

float getSz ( )

◆ getSz() [2/2]

float getSz ( const NodePath  other)

◆ getTag()

str getTag ( str  key)

Retrieves the user-defined value that was previously set on this node for the particular key, if any.

If no value has been previously set, returns the empty string. See also get_net_tag().

◆ getTagKeys() [1/2]

object getTagKeys ( )

◆ getTagKeys() [2/2]

getTagKeys ( VectorString  keys)

Fills the given vector up with the list of tags on this PandaNode.

It is the user's responsibility to ensure that the keys vector is empty before making this call; otherwise, the new files will be appended to it.

◆ getTags()

object getTags ( )

◆ getTexGen()

RenderAttrib::TexGenMode getTexGen ( TextureStage  stage)

Returns the texture coordinate generation mode for the given stage, or M_off if there is no explicit mode set for the given stage.

◆ getTexHpr() [1/2]

LVecBase3 getTexHpr ( const NodePath  other,
TextureStage  stage 
)

Returns the 3-D HPR set for the UVW's for the given stage on the current node.

This call is appropriate for 3-d texture coordinates.

◆ getTexHpr() [2/2]

LVecBase3 getTexHpr ( TextureStage  stage)

Returns the 3-D HPR set for the UVW's for the given stage on the current node.

This call is appropriate for 3-d texture coordinates.

◆ getTexOffset() [1/2]

LVecBase2 getTexOffset ( const NodePath  other,
TextureStage  stage 
)

Returns the offset set for the UV's for the given stage on the current node.

This call is appropriate for ordinary 2-d texture coordinates.

◆ getTexOffset() [2/2]

LVecBase2 getTexOffset ( TextureStage  stage)

Returns the offset set for the UV's for the given stage on the current node.

This call is appropriate for ordinary 2-d texture coordinates.

◆ getTexPos() [1/2]

LVecBase3 getTexPos ( const NodePath  other,
TextureStage  stage 
)

Returns the offset set for the UVW's for the given stage on the current node.

This call is appropriate for 3-d texture coordinates.

◆ getTexPos() [2/2]

LVecBase3 getTexPos ( TextureStage  stage)

Returns the offset set for the UVW's for the given stage on the current node.

This call is appropriate for 3-d texture coordinates.

◆ getTexProjectorFrom()

NodePath getTexProjectorFrom ( TextureStage  stage)

Returns the "from" node associated with the TexProjectorEffect on the indicated stage.

The relative transform between the "from" and the "to" nodes is automatically applied to the texture transform each frame.

◆ getTexProjectorTo()

NodePath getTexProjectorTo ( TextureStage  stage)

Returns the "to" node associated with the TexProjectorEffect on the indicated stage.

The relative transform between the "from" and the "to" nodes is automatically applied to the texture transform each frame.

◆ getTexRotate() [1/2]

float getTexRotate ( const NodePath  other,
TextureStage  stage 
)

Returns the rotation set for the UV's for the given stage on the current node.

This call is appropriate for ordinary 2-d texture coordinates.

◆ getTexRotate() [2/2]

float getTexRotate ( TextureStage  stage)

Returns the rotation set for the UV's for the given stage on the current node.

This call is appropriate for ordinary 2-d texture coordinates.

◆ getTexScale() [1/2]

LVecBase2 getTexScale ( const NodePath  other,
TextureStage  stage 
)

Returns the scale set for the UV's for the given stage on the current node.

This call is appropriate for ordinary 2-d texture coordinates.

◆ getTexScale() [2/2]

LVecBase2 getTexScale ( TextureStage  stage)

Returns the scale set for the UV's for the given stage on the current node.

This call is appropriate for ordinary 2-d texture coordinates.

◆ getTexScale3d() [1/2]

LVecBase3 getTexScale3d ( const NodePath  other,
TextureStage  stage 
)

Returns the scale set for the UVW's for the given stage on the current node.

This call is appropriate for 3-d texture coordinates.

◆ getTexScale3d() [2/2]

LVecBase3 getTexScale3d ( TextureStage  stage)

Returns the scale set for the UVW's for the given stage on the current node.

This call is appropriate for 3-d texture coordinates.

◆ getTexTransform() [1/2]

const TransformState getTexTransform ( const NodePath  other,
TextureStage  stage 
)

Returns the texture matrix on the current node for the given stage, relative to the other node.

◆ getTexTransform() [2/2]

const TransformState getTexTransform ( TextureStage  stage)

Returns the texture matrix on the current node for the given stage, or identity transform if there is no explicit transform set for the given stage.

◆ getTexture() [1/2]

Texture getTexture ( )

Returns the base-level texture that has been set on this particular node, or NULL if no texture has been set.

This is not necessarily the texture that will be applied to the geometry at or below this level, as another texture at a higher or lower level may override.

See also find_texture().

◆ getTexture() [2/2]

Texture getTexture ( TextureStage  stage)

Returns the texture that has been set on the indicated stage for this particular node, or NULL if no texture has been set for this stage.

◆ getTextureSampler() [1/2]

const SamplerState getTextureSampler ( )

Returns the sampler state that has been given for the base-level texture that has been set on this particular node.

If no sampler state was given, this returns the texture's default sampler settings.

It is an error to call this if there is no base-level texture applied to this particular node.

◆ getTextureSampler() [2/2]

const SamplerState getTextureSampler ( TextureStage  stage)

Returns the sampler state that has been given for the indicated texture stage that has been set on this particular node.

If no sampler state was given, this returns the texture's default sampler settings.

It is an error to call this if there is no texture set for this stage on this particular node.

◆ getTightBounds()

object getTightBounds ( const NodePath  other)

◆ getTop()

NodePath getTop ( Thread  current_thread)

Returns a singleton NodePath that represents the top of the path, or empty NodePath if this path is empty.

◆ getTopNode()

PandaNode getTopNode ( Thread  current_thread)

Returns the top node of the path, or NULL if the path is empty.

This requires iterating through the path.

◆ getTransform() [1/2]

const TransformState getTransform ( const NodePath  other,
Thread  current_thread 
)

Returns the relative transform to this node from the other node; i.e.

the transformation of this node as seen from the other node.

◆ getTransform() [2/2]

const TransformState getTransform ( Thread  current_thread)

Returns the complete transform object set on this node.

◆ getTransparency()

TransparencyAttrib::Mode getTransparency ( )

Returns the transparent rendering that has been specifically set on this node via set_transparency(), or M_none if nontransparent rendering has been specifically set, or if nothing has been specifically set.

See also has_transparency(). This does not necessarily imply that the geometry will or will not be rendered transparent, as there may be other nodes that override.

◆ getTwoSided()

bool getTwoSided ( )

Returns true if two-sided rendering has been specifically set on this node via set_two_sided(), or false if one-sided rendering has been specifically set, or if nothing has been specifically set.

See also has_two_sided(). This does not necessarily imply that the geometry will or will not be rendered two-sided, as there may be other nodes that override.

◆ getX() [1/2]

float getX ( )

◆ getX() [2/2]

float getX ( const NodePath  other)

◆ getY() [1/2]

float getY ( )

◆ getY() [2/2]

float getY ( const NodePath  other)

◆ getZ() [1/2]

float getZ ( )

◆ getZ() [2/2]

float getZ ( const NodePath  other)

◆ hasAntialias()

bool hasAntialias ( )

Returns true if an antialias setting has been explicitly mode on this particular node via set_antialias().

If this returns true, then get_antialias() may be called to determine what the setting was.

◆ hasAttrib()

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.

◆ hasAudioVolume()

bool hasAudioVolume ( )

Returns true if an audio volume has been applied to the referenced node, false otherwise.

It is still possible that volume at this node might have been scaled by an ancestor node.

◆ hasBillboard()

bool hasBillboard ( )

Returns true if there is any billboard effect on the node.

◆ hasBin()

bool hasBin ( )

Returns true if the node has been assigned to the a particular rendering bin via set_bin(), false otherwise.

◆ hasClipPlane()

bool hasClipPlane ( const NodePath  clip_plane)

Returns true if the indicated clipping plane has been specifically applied to this particular node.

This means that someone called set_clip_plane() on this node with the indicated clip_plane.

◆ hasClipPlaneOff() [1/2]

bool hasClipPlaneOff ( )

Returns true if all clipping planes have been specifically disabled on this particular node.

This means that someone called set_clip_plane_off() on this node with no parameters.

◆ hasClipPlaneOff() [2/2]

bool hasClipPlaneOff ( const NodePath  clip_plane)

Returns true if the indicated clipping plane has been specifically disabled on this particular node.

This means that someone called set_clip_plane_off() on this node with the indicated clip_plane.

◆ hasColor()

bool hasColor ( )

Returns true if a color has been applied to the given node, false otherwise.

◆ hasColorScale()

bool hasColorScale ( )

Returns true if a color scale has been applied to the referenced node, false otherwise.

It is still possible that color at this node might have been scaled by an ancestor node.

◆ hasCompass()

bool hasCompass ( )

Returns true if there is any compass effect on the node.

◆ hasDepthOffset()

bool hasDepthOffset ( )

Returns true if a depth-offset adjustment has been explicitly set on this particular node via set_depth_offset().

If this returns true, then get_depth_offset() may be called to determine which has been set.

◆ hasDepthTest()

bool hasDepthTest ( )

Returns true if a depth-test adjustment has been explicitly set on this particular node via set_depth_test().

If this returns true, then get_depth_test() may be called to determine which has been set.

◆ hasDepthWrite()

bool hasDepthWrite ( )

Returns true if a depth-write adjustment has been explicitly set on this particular node via set_depth_write().

If this returns true, then get_depth_write() may be called to determine which has been set.

◆ hasEffect()

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.

◆ hasFog()

bool hasFog ( )

Returns true if a fog has been applied to this particular node via set_fog(), false otherwise.

This is not the same thing as asking whether the geometry at this node will be rendered with fog, as there may be a fog in effect from a higher or lower level.

◆ hasFogOff()

bool hasFogOff ( )

Returns true if a fog has been specifically disabled on this particular node via set_fog_off(), false otherwise.

This is not the same thing as asking whether the geometry at this node will be rendered unfogged, as there may be a fog in effect from a higher or lower level.

◆ hasLight()

bool hasLight ( const NodePath  light)

Returns true if the indicated Light or PolylightNode has been specifically enabled on this particular node.

This means that someone called set_light() on this node with the indicated light.

◆ hasLightOff() [1/2]

bool hasLightOff ( )

Returns true if all Lights have been specifically disabled on this particular node.

This means that someone called set_light_off() on this node with no parameters.

◆ hasLightOff() [2/2]

bool hasLightOff ( const NodePath  light)

Returns true if the indicated Light has been specifically disabled on this particular node.

This means that someone called set_light_off() on this node with the indicated light.

This interface does not support PolylightNodes, which cannot be turned off at a lower level.

◆ hasLogicOp()

bool hasLogicOp ( )

Returns true if a logical operation has been explicitly set on this particular node via set_logic_op().

If this returns true, then get_logic_op() may be called to determine whether a logical operation has been explicitly disabled for this node or set to particular operation.

◆ hasMat()

bool hasMat ( )

Returns true if a non-identity transform matrix has been applied to the referenced node, false otherwise.

◆ hasMaterial()

bool hasMaterial ( )

Returns true if a material has been applied to this particular node via set_material(), false otherwise.

◆ hasNetPythonTag()

bool hasNetPythonTag ( object  keys)

◆ hasNetTag()

bool hasNetTag ( str  key)

Returns true if the indicated tag value has been defined on this node or on any ancestor node, or false otherwise.

See also has_tag().

◆ hasOccluder()

bool hasOccluder ( const NodePath  occluder)

Returns true if the indicated occluder has been specifically applied to this particular node.

This means that someone called set_occluder() on this node with the indicated occluder.

◆ hasParent()

bool hasParent ( Thread  current_thread)

Returns true if the referenced node has a parent; i.e.

the NodePath chain contains at least two nodes.

◆ hasPythonTag()

bool hasPythonTag ( object  keys)

◆ hasRenderMode()

bool hasRenderMode ( )

Returns true if a render mode has been explicitly set on this particular node via set_render_mode() (or set_render_mode_wireframe() or set_render_mode_filled()), false otherwise.

◆ hasScissor()

bool hasScissor ( )

Returns true if a scissor region was defined at this node by a previous call to set_scissor().

This does not check for scissor regions inherited from a parent class. It also does not check for the presence of a low- level ScissorAttrib, which is different from the ScissorEffect added by set_scissor.

◆ hasTag()

bool hasTag ( str  key)

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.

See also has_net_tag().

◆ hasTexcoord()

bool hasTexcoord ( str  texcoord_name)

Returns true if there are at least some vertices at this node and below that use the named texture coordinate set, false otherwise.

Pass the empty string for the default texture coordinate set.

◆ hasTexGen()

bool hasTexGen ( TextureStage  stage)

Returns true if there is a mode for automatic texture coordinate generation on the current node for the given stage.

◆ hasTexProjector()

bool hasTexProjector ( TextureStage  stage)

Returns true if this node has a TexProjectorEffect for the indicated stage, false otherwise.

◆ hasTexTransform()

bool hasTexTransform ( TextureStage  stage)

Returns true if there is an explicit texture matrix on the current node for the given stage.

◆ hasTexture() [1/2]

bool hasTexture ( )

Returns true if a texture has been applied to this particular node via set_texture(), false otherwise.

This is not the same thing as asking whether the geometry at this node will be rendered with texturing, as there may be a texture in effect from a higher or lower level.

◆ hasTexture() [2/2]

bool hasTexture ( TextureStage  stage)

Returns true if texturing has been specifically enabled on this particular node for the indicated stage.

This means that someone called set_texture() on this node with the indicated stage name, or the stage_name is the default stage_name, and someone called set_texture() on this node.

◆ hasTextureOff() [1/2]

bool hasTextureOff ( )

Returns true if texturing has been specifically disabled on this particular node via set_texture_off(), false otherwise.

This is not the same thing as asking whether the geometry at this node will be rendered untextured, as there may be a texture in effect from a higher or lower level.

◆ hasTextureOff() [2/2]

bool hasTextureOff ( TextureStage  stage)

Returns true if texturing has been specifically disabled on this particular node for the indicated stage.

This means that someone called set_texture_off() on this node with the indicated stage name, or that someone called set_texture_off() on this node to remove all stages.

◆ hasTransparency()

bool hasTransparency ( )

Returns true if a transparent-rendering adjustment has been explicitly set on this particular node via set_transparency().

If this returns true, then get_transparency() may be called to determine whether transparency has been explicitly enabled or explicitly disabled for this node.

◆ hasTwoSided()

bool hasTwoSided ( )

Returns true if a two-sided adjustment has been explicitly set on this particular node via set_two_sided().

If this returns true, then get_two_sided() may be called to determine which has been set.

◆ hasVertexColumn()

bool hasVertexColumn ( const InternalName  name)

Returns true if there are at least some vertices at this node and below that contain a reference to the indicated vertex data column name, false otherwise.

This is particularly useful for testing whether a particular model has a given texture coordinate set (but see has_texcoord()).

◆ headsUp() [1/4]

headsUp ( const LPoint3  point,
const LVector3  up 
)

Behaves like look_at(), but with a strong preference to keeping the up vector oriented in the indicated "up" direction.

◆ headsUp() [2/4]

headsUp ( const NodePath  other,
const LPoint3  point,
const LVector3  up 
)

Behaves like look_at(), but with a strong preference to keeping the up vector oriented in the indicated "up" direction.

◆ headsUp() [3/4]

headsUp ( const NodePath  other,
float  x,
float  y,
float  z 
)

Behaves like look_at(), but with a strong preference to keeping the up vector oriented in the indicated "up" direction.

◆ headsUp() [4/4]

headsUp ( float  x,
float  y,
float  z 
)

Behaves like look_at(), but with a strong preference to keeping the up vector oriented in the indicated "up" direction.

◆ hide() [1/2]

hide ( )

Makes the referenced node (and the entire subgraph below this node) invisible to all cameras.

It remains part of the scene graph, its bounding volume still contributes to its parent's bounding volume, and it will still be involved in collision tests.

◆ hide() [2/2]

hide ( DrawMask  camera_mask)

Makes the referenced node invisible just to the cameras whose camera_mask shares the indicated bits.

This will also hide any nodes below this node in the scene graph, including those nodes for which show() has been called, but it will not hide descendent nodes for which show_through() has been called.

◆ hideBounds()

hideBounds ( )

Stops the rendering of the bounding volume begun with show_bounds().

◆ instanceTo()

NodePath instanceTo ( const NodePath  other,
int  sort,
Thread  current_thread 
)

Adds the referenced node of the NodePath as a child of the referenced node of the indicated other NodePath.

Any other parent-child relations of the node are unchanged; in particular, the node is not removed from its existing parent, if any.

If the node already had an existing parent, this method will create a new instance of the node within the scene graph.

This does not change the NodePath itself, but does return a new NodePath that reflects the new instance node.

If the destination NodePath is empty, this creates a new instance which is not yet parented to any node. A new instance of this sort cannot easily be differentiated from other similar instances, but it is nevertheless a different instance and it will return a different get_id() value.

If the referenced node is already a child of the indicated NodePath, returns that already-existing instance, unstashing it first if necessary.

◆ instanceUnderNode()

NodePath instanceUnderNode ( const NodePath  other,
str  name,
int  sort,
Thread  current_thread 
)

Behaves like instance_to(), but implicitly creates a new node to instance the geometry under, and returns a NodePath to that new node.

This allows the programmer to set a unique state and/or transform on this instance.

◆ isAncestorOf()

bool isAncestorOf ( const NodePath  other,
Thread  current_thread 
)

Returns true if the node represented by this NodePath is a parent or other ancestor of the other NodePath, or false if it is not.

◆ isEmpty()

bool isEmpty ( )

Returns true if the NodePath contains no nodes.

◆ isHidden()

bool isHidden ( DrawMask  camera_mask)

Returns true if the referenced node is hidden from the indicated camera(s) either directly, or because some ancestor is hidden.

◆ isSameGraph()

bool isSameGraph ( const NodePath  other,
Thread  current_thread 
)

Returns true if the node represented by this NodePath is parented within the same graph as that of the other NodePath.

This is essentially the same thing as asking whether get_top() of both NodePaths is the same (e.g., both "render").

◆ isSingleton()

bool isSingleton ( Thread  current_thread)

Returns true if the NodePath contains exactly one node.

◆ isStashed()

bool isStashed ( )

Returns true if the referenced node is stashed either directly, or because some ancestor is stashed.

◆ listTags()

listTags ( )

Lists the tags to the nout stream, one per line.

See PandaNode::list_tags() for a variant that allows you to specify the output stream.

◆ lookAt() [1/4]

lookAt ( const LPoint3  point,
const LVector3  up 
)

Sets the hpr on this NodePath so that it rotates to face the indicated point in space.

◆ lookAt() [2/4]

lookAt ( const NodePath  other,
const LPoint3  point,
const LVector3  up 
)

Sets the transform on this NodePath so that it rotates to face the indicated point in space, which is relative to the other NodePath.

◆ lookAt() [3/4]

lookAt ( const NodePath  other,
float  x,
float  y,
float  z 
)

Sets the hpr on this NodePath so that it rotates to face the indicated point in space, which is relative to the other NodePath.

◆ lookAt() [4/4]

lookAt ( float  x,
float  y,
float  z 
)

Sets the transform on this NodePath so that it rotates to face the indicated point in space.

This will overwrite any previously existing scale on the node, although it will preserve any translation.

◆ ls() [1/2]

ls ( )

Lists the hierarchy at and below the referenced node.

◆ ls() [2/2]

ls ( Ostream  out,
int  indent_level 
)

Lists the hierarchy at and below the referenced node.

◆ node()

PandaNode node ( )

Returns the referenced node of the path.

◆ notFound()

static NodePath notFound ( )
static

Creates a NodePath with the ET_not_found error type set.

◆ operator !=() [1/2]

bool operator != ( const NodePath  other)

◆ operator !=() [2/2]

bool operator != ( const WeakNodePath  other)

◆ operator<() [1/2]

bool operator< ( const NodePath  other)

◆ operator<() [2/2]

bool operator< ( const WeakNodePath  other)

◆ operator=() [1/2]

NodePath operator= ( NodePath  from)

◆ operator=() [2/2]

NodePath operator= ( const NodePath  copy)

◆ operator==() [1/2]

bool operator== ( const NodePath  other)

◆ operator==() [2/2]

bool operator== ( const WeakNodePath  other)

◆ output()

output ( Ostream  out)

Writes a sensible description of the NodePath to the indicated output stream.

◆ premungeScene()

premungeScene ( GraphicsStateGuardianBase  gsg)

Walks through the scene graph beginning at the bottom node, and internally adjusts any GeomVertexFormats for optimal rendering on the indicated GSG.

If this step is not done prior to rendering, the formats will be optimized at render time instead, for a small cost.

It is not normally necessary to do this on a model loaded directly from disk, since the loader will do this by default.

◆ prepareScene()

prepareScene ( GraphicsStateGuardianBase  gsg)

Walks through the scene graph beginning at the bottom node, and does whatever initialization is required to render the scene properly with the indicated GSG.

It is not strictly necessary to call this, since the GSG will initialize itself when the scene is rendered, but this may take some of the overhead away from that process.

In particular, this will ensure that textures and vertex buffers within the scene are loaded into graphics memory.

◆ projectTexture()

projectTexture ( TextureStage  stage,
Texture  tex,
const NodePath  projector 
)

A convenience function to enable projective texturing at this node level and below, using the indicated NodePath (which should contain a LensNode) as the projector.

◆ removed()

static NodePath removed ( )
static

Creates a NodePath with the ET_removed error type set.

◆ removeNode()

removeNode ( Thread  current_thread)

Disconnects the referenced node from the scene graph.

This will also delete the node if there are no other pointers to it.

Normally, this should be called only when you are really done with the node. If you want to remove a node from the scene graph but keep it around for later, you should probably use detach_node() instead.

In practice, the only difference between remove_node() and detach_node() is that remove_node() also resets the NodePath to empty, which will cause the node to be deleted immediately if there are no other references. On the other hand, detach_node() leaves the NodePath referencing the node, which will keep at least one reference to the node for as long as the NodePath exists.

◆ reparentTo()

reparentTo ( const NodePath  other,
int  sort,
Thread  current_thread 
)

Removes the referenced node of the NodePath from its current parent and attaches it to the referenced node of the indicated NodePath.

If the destination NodePath is empty, this is the same thing as detach_node().

If the referenced node is already a child of the indicated NodePath (via some other instance), this operation fails and leaves the NodePath detached.

◆ replaceMaterial()

replaceMaterial ( Material  mat,
Material  new_mat 
)

Recursively searches the scene graph for references to the given material, and replaces them with the new material.

◆ reverseLs() [1/2]

reverseLs ( )

Lists the hierarchy at and above the referenced node.

◆ reverseLs() [2/2]

int reverseLs ( Ostream  out,
int  indent_level 
)

Lists the hierarchy at and above the referenced node.

◆ setAllColorScale()

setAllColorScale ( float  scale,
int  priority 
)

Scales all the color components of the object by the same amount, darkening the object, without (much) affecting alpha.

Note that any priority specified will also apply to the alpha scale.

◆ setAlphaScale()

setAlphaScale ( float  scale,
int  priority 
)

Sets the alpha scale component of the transform without (much) affecting the color scale.

Note that any priority specified will also apply to the color scale.

◆ setAntialias()

setAntialias ( unsigned short int  mode,
int  priority 
)

Specifies the antialiasing type that should be applied at this node and below.

See AntialiasAttrib.

◆ setAttrib()

setAttrib ( const RenderAttrib  attrib,
int  priority 
)

Adds the indicated render attribute to the scene graph on this node.

This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

◆ setAudioVolume()

setAudioVolume ( float  volume,
int  priority 
)

Sets the audio volume component of the transform.

◆ setAudioVolumeOff()

setAudioVolumeOff ( int  priority)

Disables any audio volume attribute inherited from above.

This is not the same thing as clear_audio_volume(), which undoes any previous set_audio_volume() operation on this node; rather, this actively disables any set_audio_volume() that might be inherited from a parent node.

It is legal to specify a new volume on the same node with a subsequent call to set_audio_volume(); this new scale will apply to lower nodes.

◆ setBillboardAxis() [1/2]

setBillboardAxis ( const NodePath  camera,
float  offset 
)

Puts a billboard transition on the node such that it will rotate in two dimensions around the up axis, towards a specified "camera" instead of to the viewing camera.

◆ setBillboardAxis() [2/2]

setBillboardAxis ( float  offset)

Puts a billboard transition on the node such that it will rotate in two dimensions around the up axis.

◆ setBillboardPointEye() [1/2]

setBillboardPointEye ( const NodePath  camera,
float  offset,
bool  fixed_depth 
)

Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the top of the camera, towards a specified "camera" instead of to the viewing camera.

◆ setBillboardPointEye() [2/2]

setBillboardPointEye ( float  offset,
bool  fixed_depth 
)

Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the top of the camera.

◆ setBillboardPointWorld() [1/2]

setBillboardPointWorld ( const NodePath  camera,
float  offset 
)

Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the sky, towards a specified "camera" instead of to the viewing camera.

◆ setBillboardPointWorld() [2/2]

setBillboardPointWorld ( float  offset)

Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the sky.

◆ setBin()

setBin ( str  bin_name,
int  draw_order,
int  priority 
)

Assigns the geometry at this level and below to the named rendering bin.

It is the user's responsibility to ensure that such a bin already exists, either via the cull-bin Configrc variable, or by explicitly creating a GeomBin of the appropriate type at runtime.

There are two default bins created when Panda is started: "default" and "fixed". Normally, all geometry is assigned to "default" unless specified otherwise. This bin renders opaque geometry in state-sorted order, followed by transparent geometry sorted back-to-front. If any geometry is assigned to "fixed", this will be rendered following all the geometry in "default", in the order specified by draw_order for each piece of geometry so assigned.

The draw_order parameter is meaningful only for GeomBinFixed type bins, e.g. "fixed". Other kinds of bins ignore it.

◆ setClipPlane()

setClipPlane ( const NodePath  clip_plane,
int  priority 
)

Adds the indicated clipping plane to the list of planes that apply to geometry at this node and below.

The clipping plane itself, a PlaneNode, should be parented into the scene graph elsewhere, to represent the plane's position in space; but until set_clip_plane() is called it will clip no geometry.

◆ setClipPlaneOff() [1/2]

setClipPlaneOff ( const NodePath  clip_plane,
int  priority 
)

Sets the geometry at this level and below to render without being clipped by the indicated PlaneNode.

This is different from not specifying the PlaneNode; rather, this specifically contradicts set_clip_plane() at a higher node level (or, with a priority, overrides a set_clip_plane() at a lower level).

◆ setClipPlaneOff() [2/2]

setClipPlaneOff ( int  priority)

Sets the geometry at this level and below to render using no clip_planes at all.

This is different from not specifying a clip_plane; rather, this specifically contradicts set_clip_plane() at a higher node level (or, with a priority, overrides a set_clip_plane() at a lower level).

If no clip_planes are in effect on a particular piece of geometry, that geometry is rendered without being clipped (other than by the viewing frustum).

◆ setCollideMask()

setCollideMask ( CollideMask  new_mask,
CollideMask  bits_to_change,
TypeHandle  node_type 
)

Recursively applies the indicated CollideMask to the into_collide_masks for all nodes at this level and below.

If node_type is not TypeHandle::none(), then only nodes matching (or inheriting from) the indicated PandaNode subclass are modified.

The default is to change all bits, but if bits_to_change is not all bits on, then only the bits that are set in bits_to_change are modified, allowing this call to change only a subset of the bits in the subgraph.

◆ setColor() [1/2]

setColor ( const LColor  color,
int  priority 
)

Applies a scene-graph color to the referenced node.

This color will apply to all geometry at this level and below (that does not specify a new color or a set_color_off()).

◆ setColor() [2/2]

setColor ( float  r,
float  g,
float  b,
float  a,
int  priority 
)

Applies a scene-graph color to the referenced node.

This color will apply to all geometry at this level and below (that does not specify a new color or a set_color_off()).

◆ setColorOff()

setColorOff ( int  priority)

Sets the geometry at this level and below to render using the geometry color.

This is normally the default, but it may be useful to use this to contradict set_color() at a higher node level (or, with a priority, to override a set_color() at a lower level).

◆ setColorScale() [1/2]

setColorScale ( const LVecBase4  scale,
int  priority 
)

Sets the color scale component of the transform, leaving translation and rotation untouched.

◆ setColorScale() [2/2]

setColorScale ( float  sx,
float  sy,
float  sz,
float  sa,
int  priority 
)

Sets the color scale component of the transform.

◆ setColorScaleOff()

setColorScaleOff ( int  priority)

Disables any color scale attribute inherited from above.

This is not the same thing as clear_color_scale(), which undoes any previous set_color_scale() operation on this node; rather, this actively disables any set_color_scale() that might be inherited from a parent node. This also disables set_alpha_scale() at the same time.

It is legal to specify a new color scale on the same node with a subsequent call to set_color_scale() or set_alpha_scale(); this new scale will apply to lower geometry.

◆ setCompass()

setCompass ( const NodePath  reference)

Puts a compass effect on the node, so that it will retain a fixed rotation relative to the reference node (or render if the reference node is empty) regardless of the transforms above it.

◆ setDepthOffset()

setDepthOffset ( int  bias,
int  priority 
)

This instructs the graphics driver to apply an offset or bias to the generated depth values for rendered polygons, before they are written to the depth buffer.

This can be used to shift polygons forward slightly, to resolve depth conflicts, or self-shadowing artifacts on thin objects. The bias is always an integer number, and each integer increment represents the smallest possible increment in Z that is sufficient to completely resolve two coplanar polygons. Positive numbers are closer towards the camera.

◆ setDepthTest()

setDepthTest ( bool  depth_test,
int  priority 
)

Specifically sets or disables the testing of the depth buffer on this particular node.

This is normally on in the 3-d scene graph and off in the 2-d scene graph; it should be on for rendering most 3-d objects properly.

◆ setDepthWrite()

setDepthWrite ( bool  depth_write,
int  priority 
)

Specifically sets or disables the writing to the depth buffer on this particular node.

This is normally on in the 3-d scene graph and off in the 2-d scene graph; it should be on for rendering most 3-d objects properly.

◆ setEffect()

setEffect ( const RenderEffect  effect)

Adds the indicated render effect to the scene graph on this node.

If there was already an effect of the same type, it is replaced.

◆ setEffects()

setEffects ( const RenderEffects  effects)

Sets the complete RenderEffects that will be applied this node.

This completely replaces whatever has been set on this node via repeated calls to set_attrib().

◆ setFluidPos() [1/4]

setFluidPos ( const LVecBase3  pos)

Sets the translation component, without changing the "previous" position, so that the collision system will see the node as moving fluidly from its previous position to its new position.

See Also: NodePath::set_pos

◆ setFluidPos() [2/4]

setFluidPos ( const NodePath  other,
const LVecBase3  pos 
)

Sets the translation component of the transform, relative to the other node.

◆ setFluidPos() [3/4]

setFluidPos ( const NodePath  other,
float  x,
float  y,
float  z 
)

Sets the translation component, without changing the "previous" position, so that the collision system will see the node as moving fluidly from its previous position to its new position.

◆ setFluidPos() [4/4]

setFluidPos ( float  x,
float  y,
float  z 
)

Sets the translation component, without changing the "previous" position, so that the collision system will see the node as moving fluidly from its previous position to its new position.

◆ setFluidX() [1/2]

setFluidX ( const NodePath  other,
float  x 
)

◆ setFluidX() [2/2]

setFluidX ( float  x)

◆ setFluidY() [1/2]

setFluidY ( const NodePath  other,
float  y 
)

◆ setFluidY() [2/2]

setFluidY ( float  y)

◆ setFluidZ() [1/2]

setFluidZ ( const NodePath  other,
float  z 
)

◆ setFluidZ() [2/2]

setFluidZ ( float  z)

◆ setFog()

setFog ( Fog  fog,
int  priority 
)

Sets the geometry at this level and below to render using the indicated fog.

◆ setFogOff()

setFogOff ( int  priority)

Sets the geometry at this level and below to render using no fog.

This is normally the default, but it may be useful to use this to contradict set_fog() at a higher node level (or, with a priority, to override a set_fog() at a lower level).

◆ setH() [1/2]

setH ( const NodePath  other,
float  h 
)

◆ setH() [2/2]

setH ( float  h)

◆ setHpr() [1/4]

setHpr ( const LVecBase3  hpr)

Sets the rotation component of the transform, leaving translation and scale untouched.

◆ setHpr() [2/4]

setHpr ( const NodePath  other,
const LVecBase3  hpr 
)

Sets the rotation component of the transform, relative to the other node.

◆ setHpr() [3/4]

setHpr ( const NodePath  other,
float  h,
float  p,
float  r 
)

Sets the rotation component of the transform, relative to the other node.

◆ setHpr() [4/4]

setHpr ( float  h,
float  p,
float  r 
)

Sets the rotation component of the transform, leaving translation and scale untouched.

◆ setHprScale() [1/4]

setHprScale ( const LVecBase3  hpr,
const LVecBase3  scale 
)

Sets the rotation and scale components of the transform, leaving translation untouched.

◆ setHprScale() [2/4]

setHprScale ( const NodePath  other,
const LVecBase3  hpr,
const LVecBase3  scale 
)

Sets the rotation and scale components of the transform, leaving translation untouched.

This, or set_pos_hpr_scale, is the preferred way to update a transform when both hpr and scale are to be changed.

◆ setHprScale() [3/4]

setHprScale ( const NodePath  other,
float  h,
float  p,
float  r,
float  sx,
float  sy,
float  sz 
)

Sets the rotation and scale components of the transform, leaving translation untouched.

This, or set_pos_hpr_scale, is the preferred way to update a transform when both hpr and scale are to be changed.

◆ setHprScale() [4/4]

setHprScale ( float  h,
float  p,
float  r,
float  sx,
float  sy,
float  sz 
)

Sets the rotation and scale components of the transform, leaving translation untouched.

◆ setInstanceCount()

setInstanceCount ( int  instance_count)

Sets the geometry instance count, or 0 if geometry instancing should be disabled.

Do not confuse with instanceTo which only applies to animation instancing.

◆ setLight()

setLight ( const NodePath  light,
int  priority 
)

Adds the indicated Light or PolylightNode to the list of lights that illuminate geometry at this node and below.

The light itself should be parented into the scene graph elsewhere, to represent the light's position in space; but until set_light() is called it will illuminate no geometry.

◆ setLightOff() [1/2]

setLightOff ( const NodePath  light,
int  priority 
)

Sets the geometry at this level and below to render without using the indicated Light.

This is different from not specifying the Light; rather, this specifically contradicts set_light() at a higher node level (or, with a priority, overrides a set_light() at a lower level).

This interface does not support PolylightNodes, which cannot be turned off at a lower level.

◆ setLightOff() [2/2]

setLightOff ( int  priority)

Sets the geometry at this level and below to render using no lights at all.

This is different from not specifying a light; rather, this specifically contradicts set_light() at a higher node level (or, with a priority, overrides a set_light() at a lower level).

If no lights are in effect on a particular piece of geometry, that geometry is rendered with lighting disabled.

◆ setLogicOp()

setLogicOp ( LogicOpAttrib::Operation  op,
int  priority 
)

Specifically sets or disables a logical operation on this particular node.

If no other nodes override, this will cause geometry to be rendered without color blending but instead using the given logical operator.

◆ setMat() [1/2]

setMat ( const LMatrix4  mat)

Directly sets an arbitrary 4x4 transform matrix.

◆ setMat() [2/2]

setMat ( const NodePath  other,
const LMatrix4  mat 
)

Converts the indicated matrix from the other's coordinate space to the local coordinate space, and applies it to the node.

◆ setMaterial()

setMaterial ( Material  tex,
int  priority 
)

Sets the geometry at this level and below to render using the indicated material.

Previously, this operation made a copy of the material structure, but nowadays it assigns the pointer directly.

◆ setMaterialOff()

setMaterialOff ( int  priority)

Sets the geometry at this level and below to render using no material.

This is normally the default, but it may be useful to use this to contradict set_material() at a higher node level (or, with a priority, to override a set_material() at a lower level).

◆ setMaxSearchDepth()

static setMaxSearchDepth ( int  max_search_depth)
static

Certain operations, such as find() or find_all_matches(), require a traversal of the scene graph to search for the target node or nodes.

This traversal does not attempt to detect cycles, so an arbitrary cap is set on the depth of the traversal as a poor man's cycle detection, in the event that a cycle has inadvertently been introduced into the scene graph.

There may be other reasons you'd want to truncate a search before the bottom of the scene graph has been reached. In any event, this function sets the limit on the number of levels that a traversal will continue, and hence the maximum length of a path that may be returned by a traversal.

This is a static method, and so changing this parameter affects all of the NodePaths in the universe.

◆ setName()

setName ( str  name)

Changes the name of the referenced node.

◆ setOccluder()

setOccluder ( const NodePath  occluder)

Adds the indicated occluder to the list of occluders that apply to geometry at this node and below.

The occluder itself, an OccluderNode, should be parented into the scene graph elsewhere, to represent the occluder's position in space; but until set_occluder() is called it will clip no geometry.

◆ setP() [1/2]

setP ( const NodePath  other,
float  p 
)

◆ setP() [2/2]

setP ( float  p)

◆ setPos() [1/4]

setPos ( const LVecBase3  pos)

Sets the translation component of the transform, leaving rotation and scale untouched.

This also resets the node's "previous" position, so that the collision system will see the node as having suddenly appeared in the new position, without passing any points in between. See Also: NodePath::set_fluid_pos

◆ setPos() [2/4]

setPos ( const NodePath  other,
const LVecBase3  pos 
)

Sets the translation component of the transform, relative to the other node.

◆ setPos() [3/4]

setPos ( const NodePath  other,
float  x,
float  y,
float  z 
)

Sets the translation component of the transform, relative to the other node.

◆ setPos() [4/4]

setPos ( float  x,
float  y,
float  z 
)

Sets the translation component of the transform, leaving rotation and scale untouched.

This also resets the node's "previous" position, so that the collision system will see the node as having suddenly appeared in the new position, without passing any points in between.

◆ setPosHpr() [1/4]

setPosHpr ( const LVecBase3  pos,
const LVecBase3  hpr 
)

Sets the translation and rotation component of the transform, leaving scale untouched.

◆ setPosHpr() [2/4]

setPosHpr ( const NodePath  other,
const LVecBase3  pos,
const LVecBase3  hpr 
)

Sets the translation and rotation component of the transform, relative to the other node.

◆ setPosHpr() [3/4]

setPosHpr ( const NodePath  other,
float  x,
float  y,
float  z,
float  h,
float  p,
float  r 
)

Sets the translation and rotation component of the transform, relative to the other node.

◆ setPosHpr() [4/4]

setPosHpr ( float  x,
float  y,
float  z,
float  h,
float  p,
float  r 
)

Sets the translation and rotation component of the transform, leaving scale untouched.

◆ setPosHprScale() [1/4]

setPosHprScale ( const LVecBase3  pos,
const LVecBase3  hpr,
const LVecBase3  scale 
)

Replaces the translation, rotation, and scale components, implicitly setting shear to 0.

◆ setPosHprScale() [2/4]

setPosHprScale ( const NodePath  other,
const LVecBase3  pos,
const LVecBase3  hpr,
const LVecBase3  scale 
)

Completely replaces the transform with new translation, rotation, and scale components, relative to the other node, implicitly setting shear to 0.

◆ setPosHprScale() [3/4]

setPosHprScale ( const NodePath  other,
float  x,
float  y,
float  z,
float  h,
float  p,
float  r,
float  sx,
float  sy,
float  sz 
)

Completely replaces the transform with new translation, rotation, and scale components, relative to the other node.

◆ setPosHprScale() [4/4]

setPosHprScale ( float  x,
float  y,
float  z,
float  h,
float  p,
float  r,
float  sx,
float  sy,
float  sz 
)

Completely replaces the transform with new translation, rotation, and scale components.

◆ setPosHprScaleShear() [1/2]

setPosHprScaleShear ( const LVecBase3  pos,
const LVecBase3  hpr,
const LVecBase3  scale,
const LVecBase3  shear 
)

Completely replaces the transform with new translation, rotation, scale, and shear components.

◆ setPosHprScaleShear() [2/2]

setPosHprScaleShear ( const NodePath  other,
const LVecBase3  pos,
const LVecBase3  hpr,
const LVecBase3  scale,
const LVecBase3  shear 
)

Completely replaces the transform with new translation, rotation, scale, and shear components, relative to the other node.

◆ setPosQuat() [1/2]

setPosQuat ( const LVecBase3  pos,
const LQuaternion  quat 
)

Sets the translation and rotation component of the transform, leaving scale untouched.

◆ setPosQuat() [2/2]

setPosQuat ( const NodePath  other,
const LVecBase3  pos,
const LQuaternion  quat 
)

Sets the translation and rotation component of the transform, relative to the other node.

◆ setPosQuatScale() [1/2]

setPosQuatScale ( const LVecBase3  pos,
const LQuaternion  quat,
const LVecBase3  scale 
)

Replaces the translation, rotation, and scale components, implicitly setting shear to 0.

◆ setPosQuatScale() [2/2]

setPosQuatScale ( const NodePath  other,
const LVecBase3  pos,
const LQuaternion  quat,
const LVecBase3  scale 
)

Completely replaces the transform with new translation, rotation, and scale components, relative to the other node, implicitly setting shear to 0.

◆ setPosQuatScaleShear() [1/2]

setPosQuatScaleShear ( const LVecBase3  pos,
const LQuaternion  quat,
const LVecBase3  scale,
const LVecBase3  shear 
)

Completely replaces the transform with new translation, rotation, scale, and shear components.

◆ setPosQuatScaleShear() [2/2]

setPosQuatScaleShear ( const NodePath  other,
const LVecBase3  pos,
const LQuaternion  quat,
const LVecBase3  scale,
const LVecBase3  shear 
)

Completely replaces the transform with new translation, rotation, scale, and shear components, relative to the other node.

◆ setPrevTransform() [1/2]

setPrevTransform ( const NodePath  other,
const TransformState  transform,
Thread  current_thread 
)

Sets the "previous" transform object on this node, relative to the other node.

This computes a new transform object that will have the indicated value when seen from the other node.

◆ setPrevTransform() [2/2]

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.

◆ setPythonTag()

setPythonTag ( object  keys,
object  value 
)

◆ setQuat() [1/2]

setQuat ( const LQuaternion  quat)

Sets the rotation component of the transform, leaving translation and scale untouched.

◆ setQuat() [2/2]

setQuat ( const NodePath  other,
const LQuaternion  quat 
)

Sets the rotation component of the transform, relative to the other node.

◆ setQuatScale() [1/2]

setQuatScale ( const LQuaternion  quat,
const LVecBase3  scale 
)

Sets the rotation and scale components of the transform, leaving translation untouched.

◆ setQuatScale() [2/2]

setQuatScale ( const NodePath  other,
const LQuaternion  quat,
const LVecBase3  scale 
)

Sets the rotation and scale components of the transform, leaving translation untouched.

This, or set_pos_quat_scale, is the preferred way to update a transform when both quat and scale are to be changed.

◆ setR() [1/2]

setR ( const NodePath  other,
float  r 
)

◆ setR() [2/2]

setR ( float  r)

◆ setRenderMode()

setRenderMode ( RenderModeAttrib::Mode  mode,
float  thickness,
int  priority 
)

Sets up the geometry at this level and below (unless overridden) to render in the specified mode and with the indicated line and/or point thickness.

◆ setRenderModeFilled()

setRenderModeFilled ( int  priority)

Sets up the geometry at this level and below (unless overridden) to render in filled (i.e.

not wireframe) mode.

◆ setRenderModeFilledWireframe()

setRenderModeFilledWireframe ( const LColor  wireframe_color,
int  priority 
)

Sets up the geometry at this level and below (unless overridden) to render in filled, but overlay the wireframe on top with a fixed color.

This is useful for debug visualizations.

◆ setRenderModePerspective()

setRenderModePerspective ( bool  perspective,
int  priority 
)

Sets up the point geometry at this level and below to render as perspective sprites (that is, billboarded quads).

The thickness, as specified with set_render_mode_thickness(), is the width of each point in 3-D units, unless it is overridden on a per-vertex basis. This does not affect geometry other than points.

If you want the quads to be individually textured, you should also set a TexGenAttrib::M_point_sprite on the node.

◆ setRenderModeThickness()

setRenderModeThickness ( float  thickness,
int  priority 
)

Sets up the point geometry at this level and below to render as thick points (that is, billboarded quads).

The thickness is in pixels, unless set_render_mode_perspective is also true, in which case it is in 3-D units.

If you want the quads to be individually textured, you should also set a TexGenAttrib::M_point_sprite on the node.

◆ setRenderModeWireframe()

setRenderModeWireframe ( int  priority)

Sets up the geometry at this level and below (unless overridden) to render in wireframe mode.

◆ setSa()

setSa ( float  sa)

Sets the alpha scale component of the transform.

◆ setSb()

setSb ( float  sb)

Sets the blue scale component of the transform.

◆ setScale() [1/6]

setScale ( const LVecBase3  scale)

Sets the scale component of the transform, leaving translation and rotation untouched.

◆ setScale() [2/6]

setScale ( const NodePath  other,
const LVecBase3  scale 
)

Sets the scale component of the transform, relative to the other node.

◆ setScale() [3/6]

setScale ( const NodePath  other,
float  scale 
)

Sets the scale component of the transform, relative to the other node.

◆ setScale() [4/6]

setScale ( const NodePath  other,
float  sx,
float  sy,
float  sz 
)

Sets the scale component of the transform, relative to the other node.

◆ setScale() [5/6]

setScale ( float  scale)

Sets the scale component of the transform, leaving translation and rotation untouched.

◆ setScale() [6/6]

setScale ( float  sx,
float  sy,
float  sz 
)

◆ setScissor() [1/5]

setScissor ( const LPoint3  a,
const LPoint3  b 
)

Sets up a scissor region on the nodes rendered at this level and below.

The two points are understood to be relative to this node. When these points are projected into screen space, they define the diagonally-opposite points that determine the scissor region.

◆ setScissor() [2/5]

setScissor ( const LPoint3  a,
const LPoint3  b,
const LPoint3  c,
const LPoint3  d 
)

Sets up a scissor region on the nodes rendered at this level and below.

The four points are understood to be relative to this node. When these points are projected into screen space, they define the bounding volume of the scissor region (the scissor region is the smallest onscreen rectangle that encloses all four points).

◆ setScissor() [3/5]

setScissor ( const NodePath  other,
const LPoint3  a,
const LPoint3  b 
)

Sets up a scissor region on the nodes rendered at this level and below.

The two points are understood to be relative to the indicated other node. When these points are projected into screen space, they define the diagonally-opposite points that determine the scissor region.

◆ setScissor() [4/5]

setScissor ( const NodePath  other,
const LPoint3  a,
const LPoint3  b,
const LPoint3  c,
const LPoint3  d 
)

Sets up a scissor region on the nodes rendered at this level and below.

The four points are understood to be relative to the indicated other node. When these points are projected into screen space, they define the bounding volume of the scissor region (the scissor region is the smallest onscreen rectangle that encloses all four points).

◆ setScissor() [5/5]

setScissor ( float  left,
float  right,
float  bottom,
float  top 
)

Sets up a scissor region on the nodes rendered at this level and below.

The four coordinates are understood to define a rectangle in screen space. These numbers are relative to the current DisplayRegion, where (0,0) is the lower-left corner of the DisplayRegion, and (1,1) is the upper-right corner.

◆ setSg()

setSg ( float  sg)

Sets the alpha scale component of the transform.

◆ setShader()

setShader ( const Shader  sha,
int  priority 
)

◆ setShaderAuto() [1/2]

setShaderAuto ( BitMask32  shader_switch,
int  priority 
)

overloaded for auto shader customization

◆ setShaderAuto() [2/2]

setShaderAuto ( int  priority)

◆ setShaderInput() [1/7]

setShaderInput ( const InternalName  id,
float  n1,
float  n2,
float  n3,
float  n4,
int  priority 
)

◆ setShaderInput() [2/7]

setShaderInput ( const  InternalName,
object  ,
int  priority 
)

◆ setShaderInput() [3/7]

setShaderInput ( const InternalName  id,
Texture  tex,
const SamplerState  sampler,
int  priority 
)

◆ setShaderInput() [4/7]

setShaderInput ( const InternalName  id,
Texture  tex,
bool  read,
bool  write,
int  z,
int  n,
int  priority 
)

◆ setShaderInput() [5/7]

setShaderInput ( const InternalName  id,
int  n1,
int  n2,
int  n3,
int  n4,
int  priority 
)

◆ setShaderInput() [6/7]

setShaderInput ( ShaderInput  input)

◆ setShaderInput() [7/7]

setShaderInput ( const ShaderInput  input)

◆ setShaderInputs()

setShaderInputs ( object  args,
object  kwargs 
)

◆ setShaderOff()

setShaderOff ( int  priority)

◆ setShear() [1/4]

setShear ( const LVecBase3  shear)

Sets the shear component of the transform, leaving translation and rotation untouched.

◆ setShear() [2/4]

setShear ( const NodePath  other,
const LVecBase3  shear 
)

Sets the shear component of the transform, relative to the other node.

◆ setShear() [3/4]

setShear ( const NodePath  other,
float  shxy,
float  shxz,
float  shyz 
)

Sets the shear component of the transform, relative to the other node.

◆ setShear() [4/4]

setShear ( float  shxy,
float  shxz,
float  shyz 
)

Sets the shear component of the transform, leaving translation, rotation, and scale untouched.

◆ setShxy() [1/2]

setShxy ( const NodePath  other,
float  shxy 
)

◆ setShxy() [2/2]

setShxy ( float  shxy)

◆ setShxz() [1/2]

setShxz ( const NodePath  other,
float  shxz 
)

◆ setShxz() [2/2]

setShxz ( float  shxz)

◆ setShyz() [1/2]

setShyz ( const NodePath  other,
float  shyz 
)

◆ setShyz() [2/2]

setShyz ( float  shyz)

◆ setSr()

setSr ( float  sr)

Sets the red scale component of the transform.

◆ setState() [1/2]

setState ( const NodePath  other,
const RenderState  state,
Thread  current_thread 
)

Sets the state object on this node, relative to the other node.

This computes a new state object that will have the indicated value when seen from the other node.

◆ setState() [2/2]

setState ( const RenderState  state,
Thread  current_thread 
)

Changes the complete state object on this node.

◆ setSx() [1/2]

setSx ( const NodePath  other,
float  sx 
)

◆ setSx() [2/2]

setSx ( float  sx)

◆ setSy() [1/2]

setSy ( const NodePath  other,
float  sy 
)

◆ setSy() [2/2]

setSy ( float  sy)

◆ setSz() [1/2]

setSz ( const NodePath  other,
float  sz 
)

◆ setSz() [2/2]

setSz ( float  sz)

◆ setTag()

setTag ( str  key,
str  value 
)

Associates a user-defined value with a user-defined key which is stored on the node.

This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.

Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

◆ setTexGen() [1/2]

setTexGen ( TextureStage  stage,
RenderAttrib::TexGenMode  mode,
const LTexCoord3  constant_value,
int  priority 
)

Enables automatic texture coordinate generation for the indicated texture stage.

This version of this method is useful when setting M_constant, which requires a constant texture coordinate value.

◆ setTexGen() [2/2]

setTexGen ( TextureStage  stage,
RenderAttrib::TexGenMode  mode,
int  priority 
)

Enables automatic texture coordinate generation for the indicated texture stage.

◆ setTexHpr() [1/4]

setTexHpr ( const NodePath  other,
TextureStage  stage,
const LVecBase3  hpr 
)

Sets a texture matrix on the current node to apply the indicated rotation, as a 3-D HPR, to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexHpr() [2/4]

setTexHpr ( const NodePath  other,
TextureStage  stage,
float  h,
float  p,
float  r 
)

Sets a texture matrix on the current node to apply the indicated rotation, as a 3-D HPR, to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexHpr() [3/4]

setTexHpr ( TextureStage  stage,
const LVecBase3  hpr 
)

Sets a texture matrix on the current node to apply the indicated rotation, as a 3-D HPR, to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexHpr() [4/4]

setTexHpr ( TextureStage  stage,
float  h,
float  p,
float  r 
)

Sets a texture matrix on the current node to apply the indicated rotation, as a 3-D HPR, to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexOffset() [1/4]

setTexOffset ( const NodePath  other,
TextureStage  stage,
const LVecBase2  uv 
)

Sets a texture matrix on the current node to apply the indicated offset to UV's for the given stage.

This call is appropriate for ordinary 2-d texture coordinates.

◆ setTexOffset() [2/4]

setTexOffset ( const NodePath  other,
TextureStage  stage,
float  u,
float  v 
)

Sets a texture matrix on the current node to apply the indicated offset to UV's for the given stage.

This call is appropriate for ordinary 2-d texture coordinates.

◆ setTexOffset() [3/4]

setTexOffset ( TextureStage  stage,
const LVecBase2  uv 
)

Sets a texture matrix on the current node to apply the indicated offset to UV's for the given stage.

This call is appropriate for ordinary 2-d texture coordinates.

◆ setTexOffset() [4/4]

setTexOffset ( TextureStage  stage,
float  u,
float  v 
)

Sets a texture matrix on the current node to apply the indicated offset to UV's for the given stage.

This call is appropriate for ordinary 2-d texture coordinates.

◆ setTexPos() [1/4]

setTexPos ( const NodePath  other,
TextureStage  stage,
const LVecBase3  uvw 
)

Sets a texture matrix on the current node to apply the indicated offset to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexPos() [2/4]

setTexPos ( const NodePath  other,
TextureStage  stage,
float  u,
float  v,
float  w 
)

Sets a texture matrix on the current node to apply the indicated offset to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexPos() [3/4]

setTexPos ( TextureStage  stage,
const LVecBase3  uvw 
)

Sets a texture matrix on the current node to apply the indicated offset to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexPos() [4/4]

setTexPos ( TextureStage  stage,
float  u,
float  v,
float  w 
)

Sets a texture matrix on the current node to apply the indicated offset to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexProjector()

setTexProjector ( TextureStage  stage,
const NodePath  from,
const NodePath  to,
int  lens_index 
)

Establishes a TexProjectorEffect on this node, which can be used to establish projective texturing (but see also the NodePath::project_texture() convenience function), or it can be used to bind this node's texture transform to particular node's position in space, allowing a LerpInterval (for instance) to adjust this node's texture coordinates.

If to is a LensNode, then the fourth parameter, lens_index, can be provided to select a particular lens to apply. Otherwise lens_index is not used.

◆ setTexRotate() [1/2]

setTexRotate ( const NodePath  other,
TextureStage  stage,
float  r 
)

Sets a texture matrix on the current node to apply the indicated rotation, clockwise in degrees, to UV's for the given stage.

This call is appropriate for ordinary 2-d texture coordinates.

◆ setTexRotate() [2/2]

setTexRotate ( TextureStage  stage,
float  r 
)

Sets a texture matrix on the current node to apply the indicated rotation, clockwise in degrees, to UV's for the given stage.

This call is appropriate for ordinary 2-d texture coordinates.

◆ setTexScale() [1/10]

setTexScale ( const NodePath  other,
TextureStage  stage,
const LVecBase2  scale 
)

Sets a texture matrix on the current node to apply the indicated scale to UV's for the given stage.

This call is appropriate for ordinary 2-d texture coordinates.

◆ setTexScale() [2/10]

setTexScale ( const NodePath  other,
TextureStage  stage,
const LVecBase3  scale 
)

Sets a texture matrix on the current node to apply the indicated scale to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexScale() [3/10]

setTexScale ( const NodePath  other,
TextureStage  stage,
float  scale 
)

Sets a texture matrix on the current node to apply the indicated scale to UV's for the given stage.

This call is appropriate for 2-d or 3-d texture coordinates.

◆ setTexScale() [4/10]

setTexScale ( const NodePath  other,
TextureStage  stage,
float  su,
float  sv 
)

Sets a texture matrix on the current node to apply the indicated scale to UV's for the given stage.

This call is appropriate for ordinary 2-d texture coordinates.

◆ setTexScale() [5/10]

setTexScale ( const NodePath  other,
TextureStage  stage,
float  su,
float  sv,
float  sw 
)

Sets a texture matrix on the current node to apply the indicated scale to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexScale() [6/10]

setTexScale ( TextureStage  stage,
const LVecBase2  scale 
)

Sets a texture matrix on the current node to apply the indicated scale to UV's for the given stage.

This call is appropriate for ordinary 2-d texture coordinates.

◆ setTexScale() [7/10]

setTexScale ( TextureStage  stage,
const LVecBase3  scale 
)

Sets a texture matrix on the current node to apply the indicated scale to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexScale() [8/10]

setTexScale ( TextureStage  stage,
float  scale 
)

Sets a texture matrix on the current node to apply the indicated scale to UVW's for the given stage.

This call is appropriate for 2-d or 3-d texture coordinates.

◆ setTexScale() [9/10]

setTexScale ( TextureStage  stage,
float  su,
float  sv 
)

Sets a texture matrix on the current node to apply the indicated scale to UV's for the given stage.

This call is appropriate for ordinary 2-d texture coordinates.

◆ setTexScale() [10/10]

setTexScale ( TextureStage  stage,
float  su,
float  sv,
float  sw 
)

Sets a texture matrix on the current node to apply the indicated scale to UVW's for the given stage.

This call is appropriate for 3-d texture coordinates.

◆ setTexTransform() [1/2]

setTexTransform ( const NodePath  other,
TextureStage  stage,
const TransformState  transform 
)

Sets the texture matrix on the current node to the indicated transform for the given stage.

◆ setTexTransform() [2/2]

setTexTransform ( TextureStage  stage,
const TransformState  transform 
)

Sets the texture matrix on the current node to the indicated transform for the given stage.

◆ setTexture() [1/4]

setTexture ( Texture  tex,
const SamplerState  sampler,
int  priority 
)

Adds the indicated texture to the list of textures that will be rendered on the default texture stage.

The given sampler state will override the sampling settings on the texture itself. Note that this method makes a copy of the sampler settings that you give; further changes to this object will not be reflected.

This is the convenience single-texture variant of this method; it is now superceded by set_texture() that accepts a stage and texture. You may use this method if you just want to adjust the default stage.

◆ setTexture() [2/4]

setTexture ( Texture  tex,
int  priority 
)

Adds the indicated texture to the list of textures that will be rendered on the default texture stage.

This is the convenience single-texture variant of this method; it is now superceded by set_texture() that accepts a stage and texture. You may use this method if you just want to adjust the default stage.

◆ setTexture() [3/4]

setTexture ( TextureStage  stage,
Texture  tex,
const SamplerState  sampler,
int  priority 
)

Adds the indicated texture to the list of textures that will be rendered on the indicated multitexture stage.

If there are multiple texture stages specified (possibly on multiple different nodes at different levels), they will all be applied to geometry together, according to the stage specification set up in the TextureStage object.

The given sampler state will override the sampling settings on the texture itself. Note that this method makes a copy of the sampler settings that you give; further changes to this object will not be reflected.

◆ setTexture() [4/4]

setTexture ( TextureStage  stage,
Texture  tex,
int  priority 
)

Adds the indicated texture to the list of textures that will be rendered on the indicated multitexture stage.

If there are multiple texture stages specified (possibly on multiple different nodes at different levels), they will all be applied to geometry together, according to the stage specification set up in the TextureStage object.

◆ setTextureOff() [1/2]

setTextureOff ( TextureStage  stage,
int  priority 
)

Sets the geometry at this level and below to render using no texture, on the indicated stage.

This is different from not specifying a texture; rather, this specifically contradicts set_texture() at a higher node level (or, with a priority, overrides a set_texture() at a lower level).

◆ setTextureOff() [2/2]

setTextureOff ( int  priority)

Sets the geometry at this level and below to render using no texture, on any stage.

This is different from not specifying a texture; rather, this specifically contradicts set_texture() at a higher node level (or, with a priority, overrides a set_texture() at a lower level).

◆ setTransform() [1/2]

setTransform ( const NodePath  other,
const TransformState  transform,
Thread  current_thread 
)

Sets the transform object on this node, relative to the other node.

This computes a new transform object that will have the indicated value when seen from the other node.

◆ setTransform() [2/2]

setTransform ( const TransformState  transform,
Thread  current_thread 
)

Changes the complete transform object on this node.

◆ setTransparency()

setTransparency ( TransparencyAttrib::Mode  mode,
int  priority 
)

Specifically sets or disables transparent rendering mode on this particular node.

If no other nodes override, this will cause items with a non-1 value for alpha color to be rendered partially transparent.

◆ setTwoSided()

setTwoSided ( bool  two_sided,
int  priority 
)

Specifically sets or disables two-sided rendering mode on this particular node.

If no other nodes override, this will cause backfacing polygons to be drawn (in two-sided mode, true) or culled (in one-sided mode, false).

◆ setX() [1/2]

setX ( const NodePath  other,
float  x 
)

◆ setX() [2/2]

setX ( float  x)

◆ setY() [1/2]

setY ( const NodePath  other,
float  y 
)

◆ setY() [2/2]

setY ( float  y)

◆ setZ() [1/2]

setZ ( const NodePath  other,
float  z 
)

◆ setZ() [2/2]

setZ ( float  z)

◆ show() [1/2]

show ( )

Undoes the effect of a previous hide() on this node: makes the referenced node (and the entire subgraph below this node) visible to all cameras.

This will not reveal the node if a parent node has been hidden.

◆ show() [2/2]

show ( DrawMask  camera_mask)

Makes the referenced node visible just to the cameras whose camera_mask shares the indicated bits.

This undoes the effect of a previous hide() call. It will not reveal the node if a parent node has been hidden. However, see show_through().

◆ showBounds()

showBounds ( )

Causes the bounding volume of the bottom node and all of its descendants (that is, the bounding volume associated with the the bottom arc) to be rendered, if possible.

The rendering method is less than optimal; this is intended primarily for debugging.

◆ showThrough() [1/2]

showThrough ( )

Makes the referenced node visible just to the cameras whose camera_mask shares the indicated bits.

Unlike show(), this will reveal the node even if a parent node has been hidden, thus "showing through" a parent's hide().

◆ showThrough() [2/2]

showThrough ( DrawMask  camera_mask)

Makes the referenced node visible just to the cameras whose camera_mask shares the indicated bits.

Unlike show(), this will reveal the node even if a parent node has been hidden via the one-parameter hide() method, thus "showing through" a parent's hide(). (However, it will not show through a parent's hide() call if the no-parameter form of hide() was used.)

◆ showTightBounds()

showTightBounds ( )

Similar to show_bounds(), this draws a bounding box representing the "tight" bounds of this node and all of its descendants.

The bounding box is recomputed every frame by reexamining all of the vertices; this is far from efficient, but this is intended for debugging.

◆ stash()

stash ( int  sort,
Thread  current_thread 
)

Removes the referenced node (and the entire subgraph below this node) from the scene graph in any normal sense.

The node will no longer be visible and is not tested for collisions; furthermore, no normal scene graph traversal will visit the node. The node's bounding volume no longer contributes to its parent's bounding volume.

A stashed node cannot be located by a normal find() operation (although a special find string can still retrieve it).

◆ stashTo()

stashTo ( const NodePath  other,
int  sort,
Thread  current_thread 
)

Similar to reparent_to(), but the node is added to its new parent's stashed list, so that the result is equivalent to calling reparent_to() immediately followed by stash().

◆ unifyTextureStages()

unifyTextureStages ( TextureStage  stage)

Searches through all TextureStages at this node and below.

Any TextureStages that share the same name as the indicated TextureStage object are replaced with this object, thus ensuring that all geometry at this node and below with a particular TextureStage name is using the same TextureStage object.

◆ unstash()

unstash ( int  sort,
Thread  current_thread 
)

Undoes the effect of a previous stash() on this node: makes the referenced node (and the entire subgraph below this node) once again part of the scene graph.

◆ unstashAll()

unstashAll ( Thread  current_thread)

Unstashes this node and all stashed child nodes.

◆ verifyComplete()

bool verifyComplete ( Thread  current_thread)

Returns true if all of the nodes described in the NodePath are connected, or false otherwise.

◆ writeBamFile()

bool writeBamFile ( const Filename  filename)

Writes the contents of this node and below out to a bam file with the indicated filename.

This file may then be read in again, as is, at some later point. Returns true if successful, false on some kind of error.

◆ writeBamStream()

bool writeBamStream ( Ostream  out)

Writes the contents of this node and below out to the indicated stream.

◆ writeBounds()

writeBounds ( Ostream  out)

Writes a description of the bounding volume containing the bottom node and all of its descendants to the indicated output stream.

◆ wrtReparentTo()

wrtReparentTo ( const NodePath  other,
int  sort,
Thread  current_thread 
)

This functions identically to reparent_to(), except the transform on this node is also adjusted so that the node remains in the same place in world coordinates, even if it is reparented into a different coordinate system.

Member Data Documentation

◆ ancestors

NodePath ancestors[]

◆ children

Returns the set of all child nodes of the referenced node.

◆ error_type

NodePath::ErrorType error_type

If is_empty() is true, this returns a code that represents the reason why the NodePath is empty.

◆ name

String name

Returns the name of the referenced node.

◆ net_tags

String net_tags[]

◆ nodes

PandaNode nodes[]

◆ parent

NodePath parent

Returns the NodePath to the parent of the referenced node: that is, this NodePath, shortened by one node.

The parent of a singleton NodePath is defined to be the empty NodePath.

◆ python_tags

object python_tags

◆ sort

int sort

Returns the sort value of the referenced node within its parent; that is, the sort number passed on the last reparenting operation for this node.

This will control the position of the node within its parent's list of children.

◆ stashed_children

NodePathCollection stashed_children

Returns the set of all child nodes of the referenced node that have been stashed.

These children are not normally visible on the node, and do not appear in the list returned by get_children().

◆ tags

object tags