NodePath
from panda3d.core import NodePath
- class NodePath
Bases:
DTOOL_SUPER_BASE
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.
Inheritance diagram
- ETFail = 3
- ETNotFound = 1
- ETOk = 0
- ETRemoved = 2
- ET_fail = 3
- ET_not_found = 1
- ET_ok = 0
- ET_removed = 2
- __init__(*args, **kwargs)
- addHash()
C++ Interface: add_hash(NodePath self, 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.
*/
- add_hash()
C++ Interface: add_hash(NodePath self, 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()
C++ Interface: adjust_all_priorities(const NodePath self, 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.
*/
- adjust_all_priorities()
C++ Interface: adjust_all_priorities(const NodePath self, 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.
*/
- analyze(self)
Analyzes the geometry below this node and reports the number of vertices, triangles, etc. This is the same information reported by the bam-info program.
- ancestors
- anyPath()
C++ Interface: any_path(PandaNode node, Thread current_thread)
- /**
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.
*/
- any_path()
C++ Interface: any_path(PandaNode node, Thread current_thread)
- /**
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()
C++ Interface: apply_texture_colors(const NodePath self)
- /**
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.
*/
- apply_texture_colors()
C++ Interface: apply_texture_colors(const NodePath self)
- /**
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.
*/
- assign()
C++ Interface: assign(const NodePath self, const NodePath copy)
- attachCollisionRay(self, name, ox, oy, oz, dx, dy, dz, fromCollide, intoCollide)
- attachCollisionSegment(self, name, ax, ay, az, bx, by, bz, fromCollide, intoCollide)
- attachCollisionSphere(self, name, cx, cy, cz, r, fromCollide, intoCollide)
- attachNewNode()
C++ Interface: attach_new_node(NodePath self, PandaNode node, int sort, Thread current_thread) attach_new_node(NodePath self, 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.
*/
- /**
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.
*/
- attach_new_node()
C++ Interface: attach_new_node(NodePath self, PandaNode node, int sort, Thread current_thread) attach_new_node(NodePath self, 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.
*/
- /**
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.
*/
- calcTightBounds()
C++ Interface: calc_tight_bounds(NodePath self, LPoint3f min_point, LPoint3f 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.
*/
- calc_tight_bounds()
C++ Interface: calc_tight_bounds(NodePath self, LPoint3f min_point, LPoint3f 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.
*/
- children
- clear()
C++ Interface: clear(const NodePath self)
- /**
Sets this NodePath to the empty NodePath. It will no longer point to any
node.
*/
- clearAntialias()
C++ Interface: clear_antialias(const NodePath self)
- /**
Completely removes any antialias setting that may have been set on this
node via set_antialias().
*/
- clearAttrib()
C++ Interface: clear_attrib(const NodePath self, 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()
C++ Interface: clear_audio_volume(const NodePath self)
- /**
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()
C++ Interface: clear_billboard(const NodePath self)
- /**
Removes any billboard effect from the node.
*/
- clearBin()
C++ Interface: clear_bin(const NodePath self)
- /**
Completely removes any bin adjustment that may have been set via set_bin()
from this particular node.
*/
- clearClipPlane()
C++ Interface: clear_clip_plane(const NodePath self) clear_clip_plane(const NodePath self, const NodePath clip_plane)
- clearColor()
C++ Interface: clear_color(const NodePath self)
- /**
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()
C++ Interface: clear_color_scale(const NodePath self)
- /**
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()
C++ Interface: clear_compass(const NodePath self)
- /**
Removes any compass effect from the node.
*/
- clearDepthBias()
C++ Interface: clear_depth_bias(const NodePath self)
- /**
Completely removes any depth-bias adjustment that may have been set on
this node via set_depth_bias().
*/
- clearDepthOffset()
C++ Interface: clear_depth_offset(const NodePath self)
- /**
Completely removes any depth-offset adjustment that may have been set on
this node via set_depth_offset().
*/
- clearDepthTest()
C++ Interface: clear_depth_test(const NodePath self)
- /**
Completely removes any depth-test adjustment that may have been set on this
node via set_depth_test().
*/
- clearDepthWrite()
C++ Interface: clear_depth_write(const NodePath self)
- /**
Completely removes any depth-write adjustment that may have been set on
this node via set_depth_write().
*/
- clearEffect()
C++ Interface: clear_effect(const NodePath self, TypeHandle type)
- /**
Removes the render effect of the given type from this node.
*/
- clearEffects()
C++ Interface: clear_effects(const NodePath self)
- /**
Resets this node to have no render effects.
*/
- clearFog()
C++ Interface: clear_fog(const NodePath self)
- /**
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()
C++ Interface: clear_light(const NodePath self) clear_light(const NodePath self, const NodePath light)
- clearLogicOp()
C++ Interface: clear_logic_op(const NodePath self)
- /**
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.
@since 1.10.0
*/
- clearMat()
C++ Interface: clear_mat(const NodePath self)
- /**
Completely removes any transform from the referenced node.
*/
- clearMaterial()
C++ Interface: clear_material(const NodePath self)
- /**
Completely removes any material adjustment that may have been set via
set_material() from this particular node.
*/
- clearModelNodes()
C++ Interface: clear_model_nodes(const NodePath self)
- /**
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()
C++ Interface: clear_occluder(const NodePath self) clear_occluder(const NodePath self, const NodePath occluder)
- clearProjectTexture()
C++ Interface: clear_project_texture(const NodePath self, TextureStage stage)
- /**
Undoes the effect of project_texture().
*/
- clearPythonTag()
C++ Interface: clear_python_tag(const NodePath self, object keys)
- clearRenderMode()
C++ Interface: clear_render_mode(const NodePath self)
- /**
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()
C++ Interface: clear_scissor(const NodePath self)
- /**
Removes the scissor region that was defined at this node level by a
previous call to set_scissor().
*/
- clearShaderInput()
C++ Interface: clear_shader_input(const NodePath self, const InternalName id)
- /**
*/
- clearTag()
C++ Interface: clear_tag(const NodePath self, 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()
C++ Interface: clear_tex_gen(const NodePath self) clear_tex_gen(const NodePath self, TextureStage stage)
- clearTexProjector()
C++ Interface: clear_tex_projector(const NodePath self) clear_tex_projector(const NodePath self, TextureStage stage)
- clearTexTransform()
C++ Interface: clear_tex_transform(const NodePath self) clear_tex_transform(const NodePath self, TextureStage stage)
- clearTexture()
C++ Interface: clear_texture(const NodePath self) clear_texture(const NodePath self, TextureStage stage)
- /**
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.
*/
- /**
Removes any reference to the indicated texture stage from the NodePath.
*/
- clearTransform()
C++ Interface: clear_transform(const NodePath self) clear_transform(const NodePath self, const NodePath other, Thread current_thread) clear_transform(const NodePath self, Thread current_thread)
- clearTransparency()
C++ Interface: clear_transparency(const NodePath self)
- /**
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()
C++ Interface: clear_two_sided(const NodePath self)
- /**
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.
*/
- clear_antialias()
C++ Interface: clear_antialias(const NodePath self)
- /**
Completely removes any antialias setting that may have been set on this
node via set_antialias().
*/
- clear_attrib()
C++ Interface: clear_attrib(const NodePath self, 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.
*/
- clear_audio_volume()
C++ Interface: clear_audio_volume(const NodePath self)
- /**
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.
*/
- clear_billboard()
C++ Interface: clear_billboard(const NodePath self)
- /**
Removes any billboard effect from the node.
*/
- clear_bin()
C++ Interface: clear_bin(const NodePath self)
- /**
Completely removes any bin adjustment that may have been set via set_bin()
from this particular node.
*/
- clear_clip_plane()
C++ Interface: clear_clip_plane(const NodePath self) clear_clip_plane(const NodePath self, const NodePath clip_plane)
- clear_color()
C++ Interface: clear_color(const NodePath self)
- /**
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.
*/
- clear_color_scale()
C++ Interface: clear_color_scale(const NodePath self)
- /**
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.
*/
- clear_compass()
C++ Interface: clear_compass(const NodePath self)
- /**
Removes any compass effect from the node.
*/
- clear_depth_bias()
C++ Interface: clear_depth_bias(const NodePath self)
- /**
Completely removes any depth-bias adjustment that may have been set on
this node via set_depth_bias().
*/
- clear_depth_offset()
C++ Interface: clear_depth_offset(const NodePath self)
- /**
Completely removes any depth-offset adjustment that may have been set on
this node via set_depth_offset().
*/
- clear_depth_test()
C++ Interface: clear_depth_test(const NodePath self)
- /**
Completely removes any depth-test adjustment that may have been set on this
node via set_depth_test().
*/
- clear_depth_write()
C++ Interface: clear_depth_write(const NodePath self)
- /**
Completely removes any depth-write adjustment that may have been set on
this node via set_depth_write().
*/
- clear_effect()
C++ Interface: clear_effect(const NodePath self, TypeHandle type)
- /**
Removes the render effect of the given type from this node.
*/
- clear_effects()
C++ Interface: clear_effects(const NodePath self)
- /**
Resets this node to have no render effects.
*/
- clear_fog()
C++ Interface: clear_fog(const NodePath self)
- /**
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.
*/
- clear_light()
C++ Interface: clear_light(const NodePath self) clear_light(const NodePath self, const NodePath light)
- clear_logic_op()
C++ Interface: clear_logic_op(const NodePath self)
- /**
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.
@since 1.10.0
*/
- clear_mat()
C++ Interface: clear_mat(const NodePath self)
- /**
Completely removes any transform from the referenced node.
*/
- clear_material()
C++ Interface: clear_material(const NodePath self)
- /**
Completely removes any material adjustment that may have been set via
set_material() from this particular node.
*/
- clear_model_nodes()
C++ Interface: clear_model_nodes(const NodePath self)
- /**
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.
*/
- clear_occluder()
C++ Interface: clear_occluder(const NodePath self) clear_occluder(const NodePath self, const NodePath occluder)
- clear_project_texture()
C++ Interface: clear_project_texture(const NodePath self, TextureStage stage)
- /**
Undoes the effect of project_texture().
*/
- clear_python_tag()
C++ Interface: clear_python_tag(const NodePath self, object keys)
- clear_render_mode()
C++ Interface: clear_render_mode(const NodePath self)
- /**
Completely removes any render mode adjustment that may have been set on
this node via set_render_mode_wireframe() or set_render_mode_filled().
*/
- clear_scissor()
C++ Interface: clear_scissor(const NodePath self)
- /**
Removes the scissor region that was defined at this node level by a
previous call to set_scissor().
*/
- clear_shader_input()
C++ Interface: clear_shader_input(const NodePath self, const InternalName id)
- /**
*/
- clear_tag()
C++ Interface: clear_tag(const NodePath self, 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.
*/
- clear_tex_gen()
C++ Interface: clear_tex_gen(const NodePath self) clear_tex_gen(const NodePath self, TextureStage stage)
- clear_tex_projector()
C++ Interface: clear_tex_projector(const NodePath self) clear_tex_projector(const NodePath self, TextureStage stage)
- clear_tex_transform()
C++ Interface: clear_tex_transform(const NodePath self) clear_tex_transform(const NodePath self, TextureStage stage)
- clear_texture()
C++ Interface: clear_texture(const NodePath self) clear_texture(const NodePath self, TextureStage stage)
- /**
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.
*/
- /**
Removes any reference to the indicated texture stage from the NodePath.
*/
- clear_transform()
C++ Interface: clear_transform(const NodePath self) clear_transform(const NodePath self, const NodePath other, Thread current_thread) clear_transform(const NodePath self, Thread current_thread)
- clear_transparency()
C++ Interface: clear_transparency(const NodePath self)
- /**
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.
*/
- clear_two_sided()
C++ Interface: clear_two_sided(const NodePath self)
- /**
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.
*/
- colorInterval(self, *args, **kw)
- colorScaleInterval(self, *args, **kw)
- compareTo()
C++ Interface: compare_to(NodePath self, const NodePath other) compare_to(NodePath self, 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.
*/
- /**
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.
*/
- compare_to()
C++ Interface: compare_to(NodePath self, const NodePath other) compare_to(NodePath self, 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.
*/
- /**
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()
C++ Interface: compose_color_scale(const NodePath self, const LVecBase4f scale) compose_color_scale(const NodePath self, const LVecBase4f scale, int priority) compose_color_scale(const NodePath self, float sx, float sy, float sz, float sa, int priority)
- compose_color_scale()
C++ Interface: compose_color_scale(const NodePath self, const LVecBase4f scale) compose_color_scale(const NodePath self, const LVecBase4f scale, int priority) compose_color_scale(const NodePath self, float sx, float sy, float sz, float sa, int priority)
- copyTo()
C++ Interface: copy_to(NodePath self, 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.
*/
- copy_to()
C++ Interface: copy_to(NodePath self, 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()
C++ Interface: count_num_descendants(NodePath self)
- /**
Returns the number of nodes at and below this level.
*/
- count_num_descendants()
C++ Interface: count_num_descendants(NodePath self)
- /**
Returns the number of nodes at and below this level.
*/
- decodeFromBamStream()
C++ Interface: decode_from_bam_stream(bytes 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. Returns NULL on error.
*/
- decode_from_bam_stream()
C++ Interface: decode_from_bam_stream(bytes 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. Returns NULL on error.
*/
- deselect(self)
- detachNode()
C++ Interface: detach_node(const NodePath self, 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.
*/
- detach_node()
C++ Interface: detach_node(const NodePath self, 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()
C++ Interface: do_billboard_axis(const NodePath self, 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()
C++ Interface: do_billboard_point_eye(const NodePath self, 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()
C++ Interface: do_billboard_point_world(const NodePath self, 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().
*/
- do_billboard_axis()
C++ Interface: do_billboard_axis(const NodePath self, 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().
*/
- do_billboard_point_eye()
C++ Interface: do_billboard_point_eye(const NodePath self, 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.
*/
- do_billboard_point_world()
C++ Interface: do_billboard_point_world(const NodePath self, 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()
C++ Interface: encode_to_bam_stream(NodePath self)
- /**
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.
*/
- /**
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.
*/
- encode_to_bam_stream()
C++ Interface: encode_to_bam_stream(NodePath self)
- /**
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.
*/
- /**
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.
*/
- error_type
- explore(self)
- find()
C++ Interface: find(NodePath self, 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.
The referenced node itself is not considered in the search.
*/
- findAllMatches()
C++ Interface: find_all_matches(NodePath self, 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.
The referenced node itself is not considered in the search.
*/
- findAllMaterials()
C++ Interface: find_all_materials(NodePath self) find_all_materials(NodePath self, str name)
- findAllPathsTo()
C++ Interface: find_all_paths_to(NodePath self, 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()
C++ Interface: find_all_texcoords(NodePath self) find_all_texcoords(NodePath self, str name)
- findAllTextureStages()
C++ Interface: find_all_texture_stages(NodePath self) find_all_texture_stages(NodePath self, str name)
- findAllTextures()
C++ Interface: find_all_textures(NodePath self) find_all_textures(NodePath self, TextureStage stage) find_all_textures(NodePath self, str name)
- /**
Returns a list of a textures applied to geometry at this node and below.
*/
- /**
Returns a list of a textures applied to geometry at this node and below
that match the indicated name (which may contain wildcard characters).
*/
- /**
Returns a list of a textures on geometry at this node and below that are
assigned to the indicated texture stage.
*/
- findAllVertexColumns()
C++ Interface: find_all_vertex_columns(NodePath self) find_all_vertex_columns(NodePath self, str name)
- findMaterial()
C++ Interface: find_material(NodePath self, 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()
C++ Interface: find_net_python_tag(NodePath self, object keys)
- findNetTag()
C++ Interface: find_net_tag(NodePath self, 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()
C++ Interface: find_path_to(NodePath self, PandaNode node)
- /**
Searches for the indicated node below this node and returns the shortest
NodePath that connects them.
*/
- findTexture()
C++ Interface: find_texture(NodePath self, TextureStage stage) find_texture(NodePath self, 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.
*/
- /**
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.
*/
- findTextureStage()
C++ Interface: find_texture_stage(NodePath self, 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.
*/
- find_all_matches()
C++ Interface: find_all_matches(NodePath self, 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.
The referenced node itself is not considered in the search.
*/
- find_all_materials()
C++ Interface: find_all_materials(NodePath self) find_all_materials(NodePath self, str name)
- find_all_paths_to()
C++ Interface: find_all_paths_to(NodePath self, 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.
*/
- find_all_texcoords()
C++ Interface: find_all_texcoords(NodePath self) find_all_texcoords(NodePath self, str name)
- find_all_texture_stages()
C++ Interface: find_all_texture_stages(NodePath self) find_all_texture_stages(NodePath self, str name)
- find_all_textures()
C++ Interface: find_all_textures(NodePath self) find_all_textures(NodePath self, TextureStage stage) find_all_textures(NodePath self, str name)
- /**
Returns a list of a textures applied to geometry at this node and below.
*/
- /**
Returns a list of a textures applied to geometry at this node and below
that match the indicated name (which may contain wildcard characters).
*/
- /**
Returns a list of a textures on geometry at this node and below that are
assigned to the indicated texture stage.
*/
- find_all_vertex_columns()
C++ Interface: find_all_vertex_columns(NodePath self) find_all_vertex_columns(NodePath self, str name)
- find_material()
C++ Interface: find_material(NodePath self, 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.
*/
- find_net_python_tag()
C++ Interface: find_net_python_tag(NodePath self, object keys)
- find_net_tag()
C++ Interface: find_net_tag(NodePath self, 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().
*/
- find_path_to()
C++ Interface: find_path_to(NodePath self, PandaNode node)
- /**
Searches for the indicated node below this node and returns the shortest
NodePath that connects them.
*/
- find_texture()
C++ Interface: find_texture(NodePath self, TextureStage stage) find_texture(NodePath self, 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.
*/
- /**
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.
*/
- find_texture_stage()
C++ Interface: find_texture_stage(NodePath self, 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()
C++ Interface: flatten_light(const NodePath self)
- /**
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()
C++ Interface: flatten_medium(const NodePath self)
- /**
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.
*/
- flattenMultitex(self, stateFrom=None, target=None, useGeom=0, allowTexMat=0, win=None)
- flattenStrong()
C++ Interface: flatten_strong(const NodePath self)
- /**
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.
*/
- flatten_light()
C++ Interface: flatten_light(const NodePath self)
- /**
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.
*/
- flatten_medium()
C++ Interface: flatten_medium(const NodePath self)
- /**
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.
*/
- flatten_strong()
C++ Interface: flatten_strong(const NodePath self)
- /**
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()
C++ Interface: force_recompute_bounds(const NodePath self)
- /**
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).
*/
- force_recompute_bounds()
C++ Interface: force_recompute_bounds(const NodePath self)
- /**
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()
C++ Interface: get_ancestor(NodePath self, 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()
- getAncestry(self)
Deprecated. Get a list of a node path’s ancestors
- getAntialias()
C++ Interface: get_antialias(NodePath self)
- /**
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()
C++ Interface: get_attrib(NodePath self, 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()
C++ Interface: get_audio_volume(NodePath self)
- /**
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()
C++ Interface: get_bin_draw_order(NodePath self)
- /**
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()
C++ Interface: get_bin_name(NodePath self)
- /**
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()
C++ Interface: get_bounds(NodePath self, 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()
C++ Interface: get_child(NodePath self, int n, Thread current_thread)
- /**
Returns a NodePath representing the nth child of the referenced node.
*/
- getChildren()
C++ Interface: get_children(NodePath self, Thread current_thread)
- /**
Returns the set of all child nodes of the referenced node.
*/
- getChildrenAsList(self)
Deprecated. Converts a node path’s child NodePathCollection into a list
- getClassType()
C++ Interface: get_class_type()
- getCollideMask()
C++ Interface: get_collide_mask(NodePath self)
- /**
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()
C++ Interface: get_color(NodePath self)
- /**
Returns the color that has been assigned to the node, or black if no color
has been assigned.
*/
- getColorScale()
C++ Interface: get_color_scale(NodePath self)
- /**
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()
C++ Interface: get_common_ancestor(NodePath self, 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()
C++ Interface: get_depth_offset(NodePath self)
- /**
Returns the depth offset value if it has been specified using
set_depth_offset, or 0 if not.
*/
- getDepthTest()
C++ Interface: get_depth_test(NodePath self)
- /**
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()
C++ Interface: get_depth_write(NodePath self)
- /**
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()
C++ Interface: get_distance(NodePath self, 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()
C++ Interface: get_effect(NodePath self, TypeHandle type)
- /**
Returns the render effect of the indicated type, if it is defined on the
node, or NULL if it is not.
*/
- getEffects()
C++ Interface: get_effects(NodePath self)
- /**
Returns the complete RenderEffects that will be applied to this node.
*/
- getErrorType()
C++ Interface: get_error_type(NodePath self)
- /**
If is_empty() is true, this returns a code that represents the reason why
the NodePath is empty.
*/
- getFog()
C++ Interface: get_fog(NodePath self)
- /**
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()
C++ Interface: get_h(NodePath self) get_h(NodePath self, const NodePath other)
- getHiddenAncestor()
C++ Interface: get_hidden_ancestor(NodePath self, BitMask 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()
C++ Interface: get_hpr(NodePath self) get_hpr(NodePath self, const NodePath other)
- getInstanceCount()
C++ Interface: get_instance_count(NodePath self)
- /**
Returns the geometry instance count, or 0 if disabled. See
set_instance_count.
*/
- getKey()
C++ Interface: get_key(NodePath self)
- /**
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()
C++ Interface: get_logic_op(NodePath self)
- /**
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.
@since 1.10.0
*/
- getMat()
C++ Interface: get_mat(NodePath self) get_mat(NodePath self, const NodePath other)
- getMaterial()
C++ Interface: get_material(NodePath self)
- /**
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()
C++ Interface: get_max_search_depth()
- /**
Returns the current setting of the search depth limit. See
set_max_search_depth.
*/
- getNetAudioVolume()
C++ Interface: get_net_audio_volume(NodePath self)
- /**
Returns the complete audio volume for this node taking highers nodes in the
graph into account.
*/
- getNetPrevTransform()
C++ Interface: get_net_prev_transform(NodePath self, Thread current_thread)
- /**
Returns the net “previous” transform on this node from the root. See
set_prev_transform().
*/
- getNetPythonTag()
C++ Interface: get_net_python_tag(NodePath self, object keys)
- getNetState()
C++ Interface: get_net_state(NodePath self, Thread current_thread)
- /**
Returns the net state on this node from the root.
*/
- getNetTag()
C++ Interface: get_net_tag(NodePath self, 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()
C++ Interface: get_net_transform(NodePath self, Thread current_thread)
- /**
Returns the net transform on this node from the root.
*/
- getNode()
C++ Interface: get_node(NodePath self, 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()
- getNumChildren()
C++ Interface: get_num_children(NodePath self, Thread current_thread)
- /**
Returns the number of children of the referenced node.
*/
- getNumDescendants(self)
- getNumNodes()
C++ Interface: get_num_nodes(NodePath self, Thread current_thread)
- /**
Returns the number of nodes in the path.
*/
- getP()
C++ Interface: get_p(NodePath self) get_p(NodePath self, const NodePath other)
- getParent()
C++ Interface: get_parent(NodePath self, 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()
C++ Interface: get_pos(NodePath self) get_pos(NodePath self, const NodePath other)
- getPosDelta()
C++ Interface: get_pos_delta(NodePath self) get_pos_delta(NodePath self, 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. 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.
*/
- /**
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()
C++ Interface: get_prev_transform(NodePath self) get_prev_transform(NodePath self, const NodePath other, Thread current_thread) get_prev_transform(NodePath self, Thread current_thread)
- getPythonTag()
C++ Interface: get_python_tag(NodePath self, object keys)
- getPythonTagKeys()
C++ Interface: get_python_tag_keys(NodePath self)
- getPythonTags()
C++ Interface: get_python_tags(const NodePath self)
- getQuat()
C++ Interface: get_quat(NodePath self) get_quat(NodePath self, const NodePath other)
- getR()
C++ Interface: get_r(NodePath self) get_r(NodePath self, const NodePath other)
- getRelativePoint()
C++ Interface: get_relative_point(NodePath self, const NodePath other, const LVecBase3f 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()
C++ Interface: get_relative_vector(NodePath self, const NodePath other, const LVecBase3f 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()
C++ Interface: get_render_mode(NodePath self)
- /**
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()
C++ Interface: get_render_mode_perspective(NodePath self)
- /**
Returns the flag that has been set on this node via
set_render_mode_perspective(), or false if no flag has been set.
*/
- getRenderModeThickness()
C++ Interface: get_render_mode_thickness(NodePath self)
- /**
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()
C++ Interface: get_sa(NodePath self)
- /**
Gets the alpha component of the color scale.
@see get_color_scale()
*/
- getSb()
C++ Interface: get_sb(NodePath self)
- /**
Gets the blue component of the color scale.
@see get_color_scale()
*/
- getScale()
C++ Interface: get_scale(NodePath self) get_scale(NodePath self, const NodePath other)
- getSg()
C++ Interface: get_sg(NodePath self)
- /**
Gets the green component of the color scale.
@see get_color_scale()
*/
- getShear()
C++ Interface: get_shear(NodePath self) get_shear(NodePath self, const NodePath other)
- getShxy()
C++ Interface: get_shxy(NodePath self) get_shxy(NodePath self, const NodePath other)
- /**
Returns the relative shear of the referenced node as seen from the other
node.
*/
- getShxz()
C++ Interface: get_shxz(NodePath self) get_shxz(NodePath self, const NodePath other)
- getShyz()
C++ Interface: get_shyz(NodePath self) get_shyz(NodePath self, const NodePath other)
- getSort()
C++ Interface: get_sort(NodePath self, 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()
C++ Interface: get_sr(NodePath self)
- /**
Gets the red component of the color scale.
@see get_color_scale()
*/
- getStashedAncestor()
C++ Interface: get_stashed_ancestor(NodePath self, 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()
C++ Interface: get_stashed_children(NodePath self, 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()
C++ Interface: get_state(NodePath self) get_state(NodePath self, const NodePath other, Thread current_thread) get_state(NodePath self, Thread current_thread)
// Aggregate transform and state information.
- getSx()
C++ Interface: get_sx(NodePath self) get_sx(NodePath self, const NodePath other)
- /**
Returns the relative scale of the referenced node as seen from the other
node.
*/
- getSy()
C++ Interface: get_sy(NodePath self) get_sy(NodePath self, const NodePath other)
- getSz()
C++ Interface: get_sz(NodePath self) get_sz(NodePath self, const NodePath other)
- getTag()
C++ Interface: get_tag(NodePath self, 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()
C++ Interface: get_tag_keys(NodePath self)
- /**
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()
C++ Interface: get_tags(NodePath self)
- getTexGen()
C++ Interface: get_tex_gen(NodePath self, 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()
C++ Interface: get_tex_hpr(NodePath self, TextureStage stage) get_tex_hpr(NodePath self, const NodePath other, TextureStage stage)
- getTexOffset()
C++ Interface: get_tex_offset(NodePath self, TextureStage stage) get_tex_offset(NodePath self, const NodePath other, TextureStage stage)
- getTexPos()
C++ Interface: get_tex_pos(NodePath self, TextureStage stage) get_tex_pos(NodePath self, const NodePath other, TextureStage stage)
- getTexProjectorFrom()
C++ Interface: get_tex_projector_from(NodePath self, 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()
C++ Interface: get_tex_projector_to(NodePath self, 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()
C++ Interface: get_tex_rotate(NodePath self, TextureStage stage) get_tex_rotate(NodePath self, const NodePath other, TextureStage stage)
- getTexScale()
C++ Interface: get_tex_scale(NodePath self, TextureStage stage) get_tex_scale(NodePath self, const NodePath other, TextureStage stage)
- getTexScale3d()
C++ Interface: get_tex_scale_3d(NodePath self, TextureStage stage) get_tex_scale_3d(NodePath self, const NodePath other, TextureStage stage)
- getTexTransform()
C++ Interface: get_tex_transform(NodePath self, TextureStage stage) get_tex_transform(NodePath self, const NodePath other, TextureStage stage)
- getTexture()
C++ Interface: get_texture(NodePath self) get_texture(NodePath self, TextureStage stage)
- /**
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().
*/
- /**
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()
C++ Interface: get_texture_sampler(NodePath self) get_texture_sampler(NodePath self, TextureStage stage)
- /**
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.
*/
- /**
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()
C++ Interface: get_tight_bounds(NodePath self, const NodePath other)
- getTop()
C++ Interface: get_top(NodePath self, Thread current_thread)
- /**
Returns a singleton NodePath that represents the top of the path, or empty
NodePath if this path is empty.
*/
- getTopNode()
C++ Interface: get_top_node(NodePath self, Thread current_thread)
- /**
Returns the top node of the path, or NULL if the path is empty. This
requires iterating through the path.
*/
- getTransform()
C++ Interface: get_transform(NodePath self) get_transform(NodePath self, const NodePath other, Thread current_thread) get_transform(NodePath self, Thread current_thread)
- getTransparency()
C++ Interface: get_transparency(NodePath self)
- /**
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()
C++ Interface: get_two_sided(NodePath self)
- /**
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()
C++ Interface: get_x(NodePath self) get_x(NodePath self, const NodePath other)
- getY()
C++ Interface: get_y(NodePath self) get_y(NodePath self, const NodePath other)
- getZ()
C++ Interface: get_z(NodePath self) get_z(NodePath self, const NodePath other)
- get_ancestor()
C++ Interface: get_ancestor(NodePath self, 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.
*/
- get_ancestors()
- get_antialias()
C++ Interface: get_antialias(NodePath self)
- /**
Returns the antialias setting that has been specifically set on this node
via set_antialias(), or M_none if no setting has been made.
*/
- get_attrib()
C++ Interface: get_attrib(NodePath self, 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.
*/
- get_audio_volume()
C++ Interface: get_audio_volume(NodePath self)
- /**
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.
*/
- get_bin_draw_order()
C++ Interface: get_bin_draw_order(NodePath self)
- /**
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().
*/
- get_bin_name()
C++ Interface: get_bin_name(NodePath self)
- /**
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().
*/
- get_bounds()
C++ Interface: get_bounds(NodePath self, 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.
*/
- get_child()
C++ Interface: get_child(NodePath self, int n, Thread current_thread)
- /**
Returns a NodePath representing the nth child of the referenced node.
*/
- get_children()
C++ Interface: get_children(NodePath self, Thread current_thread)
- /**
Returns the set of all child nodes of the referenced node.
*/
- get_class_type()
C++ Interface: get_class_type()
- get_collide_mask()
C++ Interface: get_collide_mask(NodePath self)
- /**
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().
*/
- get_color()
C++ Interface: get_color(NodePath self)
- /**
Returns the color that has been assigned to the node, or black if no color
has been assigned.
*/
- get_color_scale()
C++ Interface: get_color_scale(NodePath self)
- /**
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.
*/
- get_common_ancestor()
C++ Interface: get_common_ancestor(NodePath self, 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().
*/
- get_depth_offset()
C++ Interface: get_depth_offset(NodePath self)
- /**
Returns the depth offset value if it has been specified using
set_depth_offset, or 0 if not.
*/
- get_depth_test()
C++ Interface: get_depth_test(NodePath self)
- /**
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().
*/
- get_depth_write()
C++ Interface: get_depth_write(NodePath self)
- /**
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().
*/
- get_distance()
C++ Interface: get_distance(NodePath self, 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.
*/
- get_effect()
C++ Interface: get_effect(NodePath self, TypeHandle type)
- /**
Returns the render effect of the indicated type, if it is defined on the
node, or NULL if it is not.
*/
- get_effects()
C++ Interface: get_effects(NodePath self)
- /**
Returns the complete RenderEffects that will be applied to this node.
*/
- get_error_type()
C++ Interface: get_error_type(NodePath self)
- /**
If is_empty() is true, this returns a code that represents the reason why
the NodePath is empty.
*/
- get_fog()
C++ Interface: get_fog(NodePath self)
- /**
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.
*/
- get_h()
C++ Interface: get_h(NodePath self) get_h(NodePath self, const NodePath other)
C++ Interface: get_hidden_ancestor(NodePath self, BitMask 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).
*/
- get_hpr()
C++ Interface: get_hpr(NodePath self) get_hpr(NodePath self, const NodePath other)
- get_instance_count()
C++ Interface: get_instance_count(NodePath self)
- /**
Returns the geometry instance count, or 0 if disabled. See
set_instance_count.
*/
- get_key()
C++ Interface: get_key(NodePath self)
- /**
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).
*/
- get_logic_op()
C++ Interface: get_logic_op(NodePath self)
- /**
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.
@since 1.10.0
*/
- get_mat()
C++ Interface: get_mat(NodePath self) get_mat(NodePath self, const NodePath other)
- get_material()
C++ Interface: get_material(NodePath self)
- /**
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().
*/
- get_max_search_depth()
C++ Interface: get_max_search_depth()
- /**
Returns the current setting of the search depth limit. See
set_max_search_depth.
*/
- get_net_audio_volume()
C++ Interface: get_net_audio_volume(NodePath self)
- /**
Returns the complete audio volume for this node taking highers nodes in the
graph into account.
*/
- get_net_prev_transform()
C++ Interface: get_net_prev_transform(NodePath self, Thread current_thread)
- /**
Returns the net “previous” transform on this node from the root. See
set_prev_transform().
*/
- get_net_python_tag()
C++ Interface: get_net_python_tag(NodePath self, object keys)
- get_net_state()
C++ Interface: get_net_state(NodePath self, Thread current_thread)
- /**
Returns the net state on this node from the root.
*/
- get_net_tag()
C++ Interface: get_net_tag(NodePath self, 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().
*/
- get_net_transform()
C++ Interface: get_net_transform(NodePath self, Thread current_thread)
- /**
Returns the net transform on this node from the root.
*/
- get_node()
C++ Interface: get_node(NodePath self, 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().
*/
- get_nodes()
- get_num_children()
C++ Interface: get_num_children(NodePath self, Thread current_thread)
- /**
Returns the number of children of the referenced node.
*/
- get_num_nodes()
C++ Interface: get_num_nodes(NodePath self, Thread current_thread)
- /**
Returns the number of nodes in the path.
*/
- get_p()
C++ Interface: get_p(NodePath self) get_p(NodePath self, const NodePath other)
- get_parent()
C++ Interface: get_parent(NodePath self, 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.
*/
- get_pos()
C++ Interface: get_pos(NodePath self) get_pos(NodePath self, const NodePath other)
- get_pos_delta()
C++ Interface: get_pos_delta(NodePath self) get_pos_delta(NodePath self, 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. 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.
*/
- /**
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.
*/
- get_prev_transform()
C++ Interface: get_prev_transform(NodePath self) get_prev_transform(NodePath self, const NodePath other, Thread current_thread) get_prev_transform(NodePath self, Thread current_thread)
- get_python_tag()
C++ Interface: get_python_tag(NodePath self, object keys)
- get_python_tag_keys()
C++ Interface: get_python_tag_keys(NodePath self)
- get_python_tags()
C++ Interface: get_python_tags(const NodePath self)
- get_quat()
C++ Interface: get_quat(NodePath self) get_quat(NodePath self, const NodePath other)
- get_r()
C++ Interface: get_r(NodePath self) get_r(NodePath self, const NodePath other)
- get_relative_point()
C++ Interface: get_relative_point(NodePath self, const NodePath other, const LVecBase3f 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.
*/
- get_relative_vector()
C++ Interface: get_relative_vector(NodePath self, const NodePath other, const LVecBase3f 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.
*/
- get_render_mode()
C++ Interface: get_render_mode(NodePath self)
- /**
Returns the render mode that has been specifically set on this node via
set_render_mode(), or M_unchanged if nothing has been set.
*/
- get_render_mode_perspective()
C++ Interface: get_render_mode_perspective(NodePath self)
- /**
Returns the flag that has been set on this node via
set_render_mode_perspective(), or false if no flag has been set.
*/
- get_render_mode_thickness()
C++ Interface: get_render_mode_thickness(NodePath self)
- /**
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.
*/
- get_sa()
C++ Interface: get_sa(NodePath self)
- /**
Gets the alpha component of the color scale.
@see get_color_scale()
*/
- get_sb()
C++ Interface: get_sb(NodePath self)
- /**
Gets the blue component of the color scale.
@see get_color_scale()
*/
- get_scale()
C++ Interface: get_scale(NodePath self) get_scale(NodePath self, const NodePath other)
- get_sg()
C++ Interface: get_sg(NodePath self)
- /**
Gets the green component of the color scale.
@see get_color_scale()
*/
- get_shear()
C++ Interface: get_shear(NodePath self) get_shear(NodePath self, const NodePath other)
- get_shxy()
C++ Interface: get_shxy(NodePath self) get_shxy(NodePath self, const NodePath other)
- /**
Returns the relative shear of the referenced node as seen from the other
node.
*/
- get_shxz()
C++ Interface: get_shxz(NodePath self) get_shxz(NodePath self, const NodePath other)
- get_shyz()
C++ Interface: get_shyz(NodePath self) get_shyz(NodePath self, const NodePath other)
- get_sort()
C++ Interface: get_sort(NodePath self, 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.
*/
- get_sr()
C++ Interface: get_sr(NodePath self)
- /**
Gets the red component of the color scale.
@see get_color_scale()
*/
- get_stashed_ancestor()
C++ Interface: get_stashed_ancestor(NodePath self, 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).
*/
- get_stashed_children()
C++ Interface: get_stashed_children(NodePath self, 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().
*/
- get_state()
C++ Interface: get_state(NodePath self) get_state(NodePath self, const NodePath other, Thread current_thread) get_state(NodePath self, Thread current_thread)
// Aggregate transform and state information.
- get_sx()
C++ Interface: get_sx(NodePath self) get_sx(NodePath self, const NodePath other)
- /**
Returns the relative scale of the referenced node as seen from the other
node.
*/
- get_sy()
C++ Interface: get_sy(NodePath self) get_sy(NodePath self, const NodePath other)
- get_sz()
C++ Interface: get_sz(NodePath self) get_sz(NodePath self, const NodePath other)
- get_tag()
C++ Interface: get_tag(NodePath self, 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().
*/
- get_tag_keys()
C++ Interface: get_tag_keys(NodePath self)
- /**
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.
*/
- get_tags()
C++ Interface: get_tags(NodePath self)
- get_tex_gen()
C++ Interface: get_tex_gen(NodePath self, 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.
*/
- get_tex_hpr()
C++ Interface: get_tex_hpr(NodePath self, TextureStage stage) get_tex_hpr(NodePath self, const NodePath other, TextureStage stage)
- get_tex_offset()
C++ Interface: get_tex_offset(NodePath self, TextureStage stage) get_tex_offset(NodePath self, const NodePath other, TextureStage stage)
- get_tex_pos()
C++ Interface: get_tex_pos(NodePath self, TextureStage stage) get_tex_pos(NodePath self, const NodePath other, TextureStage stage)
- get_tex_projector_from()
C++ Interface: get_tex_projector_from(NodePath self, 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.
*/
- get_tex_projector_to()
C++ Interface: get_tex_projector_to(NodePath self, 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.
*/
- get_tex_rotate()
C++ Interface: get_tex_rotate(NodePath self, TextureStage stage) get_tex_rotate(NodePath self, const NodePath other, TextureStage stage)
- get_tex_scale()
C++ Interface: get_tex_scale(NodePath self, TextureStage stage) get_tex_scale(NodePath self, const NodePath other, TextureStage stage)
- get_tex_scale_3d()
C++ Interface: get_tex_scale_3d(NodePath self, TextureStage stage) get_tex_scale_3d(NodePath self, const NodePath other, TextureStage stage)
- get_tex_transform()
C++ Interface: get_tex_transform(NodePath self, TextureStage stage) get_tex_transform(NodePath self, const NodePath other, TextureStage stage)
- get_texture()
C++ Interface: get_texture(NodePath self) get_texture(NodePath self, TextureStage stage)
- /**
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().
*/
- /**
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.
*/
- get_texture_sampler()
C++ Interface: get_texture_sampler(NodePath self) get_texture_sampler(NodePath self, TextureStage stage)
- /**
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.
*/
- /**
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.
*/
- get_tight_bounds()
C++ Interface: get_tight_bounds(NodePath self, const NodePath other)
- get_top()
C++ Interface: get_top(NodePath self, Thread current_thread)
- /**
Returns a singleton NodePath that represents the top of the path, or empty
NodePath if this path is empty.
*/
- get_top_node()
C++ Interface: get_top_node(NodePath self, Thread current_thread)
- /**
Returns the top node of the path, or NULL if the path is empty. This
requires iterating through the path.
*/
- get_transform()
C++ Interface: get_transform(NodePath self) get_transform(NodePath self, const NodePath other, Thread current_thread) get_transform(NodePath self, Thread current_thread)
- get_transparency()
C++ Interface: get_transparency(NodePath self)
- /**
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.
*/
- get_two_sided()
C++ Interface: get_two_sided(NodePath self)
- /**
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.
*/
- get_x()
C++ Interface: get_x(NodePath self) get_x(NodePath self, const NodePath other)
- get_y()
C++ Interface: get_y(NodePath self) get_y(NodePath self, const NodePath other)
- get_z()
C++ Interface: get_z(NodePath self) get_z(NodePath self, const NodePath other)
- hasAntialias()
C++ Interface: has_antialias(NodePath self)
- /**
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()
C++ Interface: has_attrib(NodePath self, 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()
C++ Interface: has_audio_volume(NodePath self)
- /**
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()
C++ Interface: has_billboard(NodePath self)
- /**
Returns true if there is any billboard effect on the node.
*/
- hasBin()
C++ Interface: has_bin(NodePath self)
- /**
Returns true if the node has been assigned to the a particular rendering
bin via set_bin(), false otherwise.
*/
- hasClipPlane()
C++ Interface: has_clip_plane(NodePath self, 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()
C++ Interface: has_clip_plane_off(NodePath self) has_clip_plane_off(NodePath self, const NodePath clip_plane)
- /**
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.
*/
- /**
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()
C++ Interface: has_color(NodePath self)
- /**
Returns true if a color has been applied to the given node, false
otherwise.
*/
- hasColorScale()
C++ Interface: has_color_scale(NodePath self)
- /**
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()
C++ Interface: has_compass(NodePath self)
- /**
Returns true if there is any compass effect on the node.
*/
- hasDepthBias()
C++ Interface: has_depth_bias(NodePath self)
- /**
Returns true if a depth-bias adjustment has been explicitly set on this
particular node via set_depth_bias(). If this returns true, then
get_depth_bias() may be called to determine which has been set.
*/
- hasDepthOffset()
C++ Interface: has_depth_offset(NodePath self)
- /**
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()
C++ Interface: has_depth_test(NodePath self)
- /**
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()
C++ Interface: has_depth_write(NodePath self)
- /**
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()
C++ Interface: has_effect(NodePath self, 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()
C++ Interface: has_fog(NodePath self)
- /**
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()
C++ Interface: has_fog_off(NodePath self)
- /**
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()
C++ Interface: has_light(NodePath self, 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()
C++ Interface: has_light_off(NodePath self) has_light_off(NodePath self, const NodePath light)
- /**
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.
*/
- /**
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()
C++ Interface: has_logic_op(NodePath self)
- /**
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.
@since 1.10.0
*/
- hasMat()
C++ Interface: has_mat(NodePath self)
- /**
Returns true if a non-identity transform matrix has been applied to the
referenced node, false otherwise.
*/
- hasMaterial()
C++ Interface: has_material(NodePath self)
- /**
Returns true if a material has been applied to this particular node via
set_material(), false otherwise.
*/
- hasNetPythonTag()
C++ Interface: has_net_python_tag(NodePath self, object keys)
- hasNetTag()
C++ Interface: has_net_tag(NodePath self, 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()
C++ Interface: has_occluder(NodePath self, 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()
C++ Interface: has_parent(NodePath self, Thread current_thread)
- /**
Returns true if the referenced node has a parent; i.e. the NodePath chain
contains at least two nodes.
*/
- hasPythonTag()
C++ Interface: has_python_tag(NodePath self, object keys)
- hasRenderMode()
C++ Interface: has_render_mode(NodePath self)
- /**
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()
C++ Interface: has_scissor(NodePath self)
- /**
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()
C++ Interface: has_tag(NodePath self, 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().
*/
- hasTexGen()
C++ Interface: has_tex_gen(NodePath self, TextureStage stage)
- /**
Returns true if there is a mode for automatic texture coordinate generation
on the current node for the given stage.
*/
- hasTexProjector()
C++ Interface: has_tex_projector(NodePath self, TextureStage stage)
- /**
Returns true if this node has a TexProjectorEffect for the indicated stage,
false otherwise.
*/
- hasTexTransform()
C++ Interface: has_tex_transform(NodePath self, TextureStage stage)
- /**
Returns true if there is an explicit texture matrix on the current node for
the given stage.
*/
- hasTexcoord()
C++ Interface: has_texcoord(NodePath self, 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.
*/
- hasTexture()
C++ Interface: has_texture(NodePath self) has_texture(NodePath self, TextureStage stage)
- /**
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.
*/
- /**
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()
C++ Interface: has_texture_off(NodePath self) has_texture_off(NodePath self, TextureStage stage)
- /**
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.
*/
- /**
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()
C++ Interface: has_transparency(NodePath self)
- /**
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()
C++ Interface: has_two_sided(NodePath self)
- /**
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()
C++ Interface: has_vertex_column(NodePath self, 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()).
*/
- has_antialias()
C++ Interface: has_antialias(NodePath self)
- /**
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.
*/
- has_attrib()
C++ Interface: has_attrib(NodePath self, TypeHandle type)
- /**
Returns true if there is a render attribute of the indicated type defined
on this node, or false if there is not.
*/
- has_audio_volume()
C++ Interface: has_audio_volume(NodePath self)
- /**
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.
*/
- has_billboard()
C++ Interface: has_billboard(NodePath self)
- /**
Returns true if there is any billboard effect on the node.
*/
- has_bin()
C++ Interface: has_bin(NodePath self)
- /**
Returns true if the node has been assigned to the a particular rendering
bin via set_bin(), false otherwise.
*/
- has_clip_plane()
C++ Interface: has_clip_plane(NodePath self, 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.
*/
- has_clip_plane_off()
C++ Interface: has_clip_plane_off(NodePath self) has_clip_plane_off(NodePath self, const NodePath clip_plane)
- /**
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.
*/
- /**
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.
*/
- has_color()
C++ Interface: has_color(NodePath self)
- /**
Returns true if a color has been applied to the given node, false
otherwise.
*/
- has_color_scale()
C++ Interface: has_color_scale(NodePath self)
- /**
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.
*/
- has_compass()
C++ Interface: has_compass(NodePath self)
- /**
Returns true if there is any compass effect on the node.
*/
- has_depth_bias()
C++ Interface: has_depth_bias(NodePath self)
- /**
Returns true if a depth-bias adjustment has been explicitly set on this
particular node via set_depth_bias(). If this returns true, then
get_depth_bias() may be called to determine which has been set.
*/
- has_depth_offset()
C++ Interface: has_depth_offset(NodePath self)
- /**
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.
*/
- has_depth_test()
C++ Interface: has_depth_test(NodePath self)
- /**
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.
*/
- has_depth_write()
C++ Interface: has_depth_write(NodePath self)
- /**
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.
*/
- has_effect()
C++ Interface: has_effect(NodePath self, TypeHandle type)
- /**
Returns true if there is a render effect of the indicated type defined on
this node, or false if there is not.
*/
- has_fog()
C++ Interface: has_fog(NodePath self)
- /**
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.
*/
- has_fog_off()
C++ Interface: has_fog_off(NodePath self)
- /**
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.
*/
- has_light()
C++ Interface: has_light(NodePath self, 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.
*/
- has_light_off()
C++ Interface: has_light_off(NodePath self) has_light_off(NodePath self, const NodePath light)
- /**
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.
*/
- /**
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.
*/
- has_logic_op()
C++ Interface: has_logic_op(NodePath self)
- /**
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.
@since 1.10.0
*/
- has_mat()
C++ Interface: has_mat(NodePath self)
- /**
Returns true if a non-identity transform matrix has been applied to the
referenced node, false otherwise.
*/
- has_material()
C++ Interface: has_material(NodePath self)
- /**
Returns true if a material has been applied to this particular node via
set_material(), false otherwise.
*/
- has_net_python_tag()
C++ Interface: has_net_python_tag(NodePath self, object keys)
- has_net_tag()
C++ Interface: has_net_tag(NodePath self, 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().
*/
- has_occluder()
C++ Interface: has_occluder(NodePath self, 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.
*/
- has_parent()
C++ Interface: has_parent(NodePath self, Thread current_thread)
- /**
Returns true if the referenced node has a parent; i.e. the NodePath chain
contains at least two nodes.
*/
- has_python_tag()
C++ Interface: has_python_tag(NodePath self, object keys)
- has_render_mode()
C++ Interface: has_render_mode(NodePath self)
- /**
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.
*/
- has_scissor()
C++ Interface: has_scissor(NodePath self)
- /**
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.
*/
- has_tag()
C++ Interface: has_tag(NodePath self, 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().
*/
- has_tex_gen()
C++ Interface: has_tex_gen(NodePath self, TextureStage stage)
- /**
Returns true if there is a mode for automatic texture coordinate generation
on the current node for the given stage.
*/
- has_tex_projector()
C++ Interface: has_tex_projector(NodePath self, TextureStage stage)
- /**
Returns true if this node has a TexProjectorEffect for the indicated stage,
false otherwise.
*/
- has_tex_transform()
C++ Interface: has_tex_transform(NodePath self, TextureStage stage)
- /**
Returns true if there is an explicit texture matrix on the current node for
the given stage.
*/
- has_texcoord()
C++ Interface: has_texcoord(NodePath self, 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.
*/
- has_texture()
C++ Interface: has_texture(NodePath self) has_texture(NodePath self, TextureStage stage)
- /**
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.
*/
- /**
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.
*/
- has_texture_off()
C++ Interface: has_texture_off(NodePath self) has_texture_off(NodePath self, TextureStage stage)
- /**
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.
*/
- /**
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.
*/
- has_transparency()
C++ Interface: has_transparency(NodePath self)
- /**
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.
*/
- has_two_sided()
C++ Interface: has_two_sided(NodePath self)
- /**
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.
*/
- has_vertex_column()
C++ Interface: has_vertex_column(NodePath self, 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()
C++ Interface: heads_up(const NodePath self, const NodePath other) heads_up(const NodePath self, const LPoint3f point) heads_up(const NodePath self, const NodePath other, const LPoint3f point) heads_up(const NodePath self, const LPoint3f point, const LVector3f up) heads_up(const NodePath self, const NodePath other, const LPoint3f point, const LVector3f up) heads_up(const NodePath self, float x, float y, float z) heads_up(const NodePath self, 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.
*/
- /**
Behaves like look_at(), but with a strong preference to keeping the up
vector oriented in the indicated “up” direction.
*/
- /**
Behaves like look_at(), but with a strong preference to keeping the up
vector oriented in the indicated “up” direction.
*/
- /**
Behaves like look_at(), but with a strong preference to keeping the up
vector oriented in the indicated “up” direction.
*/
- heads_up()
C++ Interface: heads_up(const NodePath self, const NodePath other) heads_up(const NodePath self, const LPoint3f point) heads_up(const NodePath self, const NodePath other, const LPoint3f point) heads_up(const NodePath self, const LPoint3f point, const LVector3f up) heads_up(const NodePath self, const NodePath other, const LPoint3f point, const LVector3f up) heads_up(const NodePath self, float x, float y, float z) heads_up(const NodePath self, 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.
*/
- /**
Behaves like look_at(), but with a strong preference to keeping the up
vector oriented in the indicated “up” direction.
*/
- /**
Behaves like look_at(), but with a strong preference to keeping the up
vector oriented in the indicated “up” direction.
*/
- /**
Behaves like look_at(), but with a strong preference to keeping the up
vector oriented in the indicated “up” direction.
*/
- hide()
C++ Interface: hide(const NodePath self) hide(const NodePath self, BitMask camera_mask)
- /**
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.
To undo this, call show().
*/
- /**
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()
C++ Interface: hide_bounds(const NodePath self)
- /**
Stops the rendering of the bounding volume begun with show_bounds().
*/
- hideCS(self, mask=None)
Deprecated. Hides the collision solids at or below this node. If mask is not None, it is a BitMask32 object (e.g. WallBitmask, CameraBitmask) that indicates which particular collision solids should be hidden; otherwise, all of them will be.
- hideSiblings(self)
Deprecated. Hide all the siblings of a node path
- hide_bounds()
C++ Interface: hide_bounds(const NodePath self)
- /**
Stops the rendering of the bounding volume begun with show_bounds().
*/
- hprInterval(self, *args, **kw)
- hprScaleInterval(self, *args, **kw)
- iHpr(self, other=None)
Deprecated. Set node path’s hpr to 0, 0, 0
- iPos(self, other=None)
Deprecated. Set node path’s pos to 0, 0, 0
- iPosHpr(self, other=None)
Deprecated. Set node path’s pos and hpr to 0, 0, 0
- iPosHprScale(self, other=None)
Deprecated. Set node path’s pos and hpr to 0, 0, 0 and scale to 1, 1, 1
- iScale(self, other=None)
Deprecated. Set node path’s scale to 1, 1, 1
- id(self)
Deprecated. Returns a unique id identifying the NodePath instance
- instanceTo()
C++ Interface: instance_to(NodePath self, 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()
C++ Interface: instance_under_node(NodePath self, 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.
*/
- instance_to()
C++ Interface: instance_to(NodePath self, 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.
*/
- instance_under_node()
C++ Interface: instance_under_node(NodePath self, 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()
C++ Interface: is_ancestor_of(NodePath self, 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()
C++ Interface: is_empty(NodePath self)
// Methods to query a NodePath’s contents.
- /**
Returns true if the NodePath contains no nodes.
*/
- isHidden()
C++ Interface: is_hidden(NodePath self, BitMask camera_mask)
- /**
Returns true if the referenced node is hidden from the indicated camera(s)
either directly, or because some ancestor is hidden.
*/
- isSameGraph()
C++ Interface: is_same_graph(NodePath self, 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()
C++ Interface: is_singleton(NodePath self, Thread current_thread)
- /**
Returns true if the NodePath contains exactly one node.
*/
- isStashed()
C++ Interface: is_stashed(NodePath self)
- /**
Returns true if the referenced node is stashed either directly, or because
some ancestor is stashed.
*/
- is_ancestor_of()
C++ Interface: is_ancestor_of(NodePath self, 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.
*/
- is_empty()
C++ Interface: is_empty(NodePath self)
// Methods to query a NodePath’s contents.
- /**
Returns true if the NodePath contains no nodes.
*/
C++ Interface: is_hidden(NodePath self, BitMask camera_mask)
- /**
Returns true if the referenced node is hidden from the indicated camera(s)
either directly, or because some ancestor is hidden.
*/
- is_same_graph()
C++ Interface: is_same_graph(NodePath self, 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”).
*/
- is_singleton()
C++ Interface: is_singleton(NodePath self, Thread current_thread)
- /**
Returns true if the NodePath contains exactly one node.
*/
- is_stashed()
C++ Interface: is_stashed(NodePath self)
- /**
Returns true if the referenced node is stashed either directly, or because
some ancestor is stashed.
*/
- isolate(self)
Deprecated. Show the node path and hide its siblings
- listTags()
C++ Interface: list_tags(NodePath self)
- /**
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.
*/
- list_tags()
C++ Interface: list_tags(NodePath self)
- /**
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()
C++ Interface: look_at(const NodePath self, const NodePath other) look_at(const NodePath self, const LPoint3f point) look_at(const NodePath self, const NodePath other, const LPoint3f point) look_at(const NodePath self, const LPoint3f point, const LVector3f up) look_at(const NodePath self, const NodePath other, const LPoint3f point, const LVector3f up) look_at(const NodePath self, float x, float y, float z) look_at(const NodePath self, const NodePath other, 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.
*/
- /**
Sets the hpr on this NodePath so that it rotates to face the indicated
point in space, which is relative to the other NodePath.
*/
- /**
Sets the hpr on this NodePath so that it rotates to face the indicated
point in space.
*/
- /**
Sets the transform on this NodePath so that it rotates to face the
indicated point in space, which is relative to the other NodePath.
*/
- look_at()
C++ Interface: look_at(const NodePath self, const NodePath other) look_at(const NodePath self, const LPoint3f point) look_at(const NodePath self, const NodePath other, const LPoint3f point) look_at(const NodePath self, const LPoint3f point, const LVector3f up) look_at(const NodePath self, const NodePath other, const LPoint3f point, const LVector3f up) look_at(const NodePath self, float x, float y, float z) look_at(const NodePath self, const NodePath other, 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.
*/
- /**
Sets the hpr on this NodePath so that it rotates to face the indicated
point in space, which is relative to the other NodePath.
*/
- /**
Sets the hpr on this NodePath so that it rotates to face the indicated
point in space.
*/
- /**
Sets the transform on this NodePath so that it rotates to face the
indicated point in space, which is relative to the other NodePath.
*/
- ls()
C++ Interface: ls(NodePath self) ls(NodePath self, ostream out, int indent_level)
- lsNames(self)
Deprecated. Walk down a tree and print out the path
- lsNamesRecurse(self, indentString=' ')
Deprecated. Walk down a tree and print out the path
- name
- net_tags
- nodes
- notFound()
C++ Interface: not_found()
- /**
Creates a NodePath with the ET_not_found error type set.
*/
- not_found()
C++ Interface: not_found()
- /**
Creates a NodePath with the ET_not_found error type set.
*/
- output()
C++ Interface: output(NodePath self, ostream out)
- /**
Writes a sensible description of the NodePath to the indicated output
stream.
*/
- pPrintString(self, other=None)
Deprecated. pretty print
- parent
- place(self)
- posHprInterval(self, *args, **kw)
- posHprScaleInterval(self, *args, **kw)
- posHprScaleShearInterval(self, *args, **kw)
- posInterval(self, *args, **kw)
- posQuatInterval(self, *args, **kw)
- posQuatScaleInterval(self, *args, **kw)
- posQuatScaleShearInterval(self, *args, **kw)
- premungeScene()
C++ Interface: premunge_scene(const NodePath self, 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.
*/
- premunge_scene()
C++ Interface: premunge_scene(const NodePath self, 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()
C++ Interface: prepare_scene(const NodePath self, 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.
*/
- prepare_scene()
C++ Interface: prepare_scene(const NodePath self, 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.
*/
- printChildren(self)
Deprecated. Prints out the children of the bottom node of a node path
- printHpr(self, other=None, sd=2)
Deprecated. Pretty print a node path’s hpr
- printPos(self, other=None, sd=2)
Deprecated. Pretty print a node path’s pos
- printPosHpr(self, other=None, sd=2)
Deprecated. Pretty print a node path’s pos and, hpr
- printPosHprScale(self, other=None, sd=2)
Deprecated. Pretty print a node path’s pos, hpr, and scale
- printScale(self, other=None, sd=2)
Deprecated. Pretty print a node path’s scale
- printTransform(self, other=None, sd=2, fRecursive=0)
Deprecated.
- projectTexture()
C++ Interface: project_texture(const NodePath self, 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.
*/
- project_texture()
C++ Interface: project_texture(const NodePath self, 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.
*/
- python_tags
- quatInterval(self, *args, **kw)
- quatScaleInterval(self, *args, **kw)
- r_constructCollisionTree(self, solidTree, parentNode, colName)
- r_subdivideCollisions(self, solids, numSolidsInLeaves)
- remove(self)
Deprecated. Remove a node path from the scene graph
- removeChildren(self)
Deprecated. Deletes the children of the bottom node of a node path
- removeNode()
C++ Interface: remove_node(const NodePath self, 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.
*/
- removeNonCollisions(self)
- remove_node()
C++ Interface: remove_node(const NodePath self, 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()
C++ Interface: reparent_to(const NodePath self, const NodePath other, int sort, Thread current_thread)
// Methods that actually move nodes around in the scene graph. The optional // “sort” parameter can be used to force a particular ordering between // sibling nodes, useful when dealing with LOD’s and similar switch nodes. // If the sort value is the same, nodes will be arranged in the order they // were added.
- /**
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.
*/
- reparent_to()
C++ Interface: reparent_to(const NodePath self, const NodePath other, int sort, Thread current_thread)
// Methods that actually move nodes around in the scene graph. The optional // “sort” parameter can be used to force a particular ordering between // sibling nodes, useful when dealing with LOD’s and similar switch nodes. // If the sort value is the same, nodes will be arranged in the order they // were added.
- /**
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()
C++ Interface: replace_material(const NodePath self, Material mat, Material new_mat) replace_material(const NodePath self, Material mat, NoneType new_mat)
// Let interrogate know this also accepts None
- /**
Recursively searches the scene graph for references to the given material,
and replaces them with the new material.
As of Panda3D 1.10.13, new_mat may be null to remove the material.
@since 1.10.0
*/
- replaceTexture()
C++ Interface: replace_texture(const NodePath self, Texture tex, Texture new_tex) replace_texture(const NodePath self, Texture tex, NoneType new_tex)
// Let interrogate know this also accepts None
- /**
Recursively searches the scene graph for references to the given texture,
and replaces them with the new texture.
As of Panda3D 1.10.13, new_tex may be null to remove the texture.
@since 1.10.4
*/
- replace_material()
C++ Interface: replace_material(const NodePath self, Material mat, Material new_mat) replace_material(const NodePath self, Material mat, NoneType new_mat)
// Let interrogate know this also accepts None
- /**
Recursively searches the scene graph for references to the given material,
and replaces them with the new material.
As of Panda3D 1.10.13, new_mat may be null to remove the material.
@since 1.10.0
*/
- replace_texture()
C++ Interface: replace_texture(const NodePath self, Texture tex, Texture new_tex) replace_texture(const NodePath self, Texture tex, NoneType new_tex)
// Let interrogate know this also accepts None
- /**
Recursively searches the scene graph for references to the given texture,
and replaces them with the new texture.
As of Panda3D 1.10.13, new_tex may be null to remove the texture.
@since 1.10.4
*/
- reverseLs()
C++ Interface: reverse_ls(NodePath self) reverse_ls(NodePath self, ostream out, int indent_level)
- reverseLsNames(self)
Deprecated. Walk up a tree and print out the path to the root
- reverse_ls()
C++ Interface: reverse_ls(NodePath self) reverse_ls(NodePath self, ostream out, int indent_level)
- rgbPanel(self, cb=None)
- scaleInterval(self, *args, **kw)
- select(self)
- setAllColorScale()
C++ Interface: set_all_color_scale(const NodePath self, 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()
C++ Interface: set_alpha_scale(const NodePath self, 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()
C++ Interface: set_antialias(const NodePath self, int mode, int priority)
- /**
Specifies the antialiasing type that should be applied at this node and
below. See AntialiasAttrib.
*/
- setAttrib()
C++ Interface: set_attrib(const NodePath self, 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()
C++ Interface: set_audio_volume(const NodePath self, float volume, int priority)
- /**
Sets the audio volume component of the transform
*/
- setAudioVolumeOff()
C++ Interface: set_audio_volume_off(const NodePath self, 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()
C++ Interface: set_billboard_axis(const NodePath self) set_billboard_axis(const NodePath self, float offset) set_billboard_axis(const NodePath self, const NodePath camera, float offset)
- setBillboardPointEye()
C++ Interface: set_billboard_point_eye(const NodePath self) set_billboard_point_eye(const NodePath self, float offset) set_billboard_point_eye(const NodePath self, const NodePath camera, float offset, bool fixed_depth) set_billboard_point_eye(const NodePath self, 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.
*/
- /**
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.
*/
- setBillboardPointWorld()
C++ Interface: set_billboard_point_world(const NodePath self) set_billboard_point_world(const NodePath self, float offset) set_billboard_point_world(const NodePath self, 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.
*/
- /**
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.
*/
- setBin()
C++ Interface: set_bin(const NodePath self, 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()
C++ Interface: set_clip_plane(const NodePath self, 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()
C++ Interface: set_clip_plane_off(const NodePath self) set_clip_plane_off(const NodePath self, const NodePath clip_plane, int priority) set_clip_plane_off(const NodePath self, 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).
*/
- /**
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).
*/
- setCollideMask()
C++ Interface: set_collide_mask(const NodePath self, BitMask new_mask, BitMask 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.
*/
- setCollideOwner()
C++ Interface: set_collide_owner(const NodePath self, object owner)
- setColor()
C++ Interface: set_color(const NodePath self, const LVecBase4f color) set_color(const NodePath self, const LVecBase4f color, int priority) set_color(const NodePath self, 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()).
*/
- /**
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()
C++ Interface: set_color_off(const NodePath self, 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()
C++ Interface: set_color_scale(const NodePath self, const LVecBase4f scale) set_color_scale(const NodePath self, const LVecBase4f scale, int priority) set_color_scale(const NodePath self, float sx, float sy, float sz, float sa, int priority)
- setColorScaleOff()
C++ Interface: set_color_scale_off(const NodePath self, 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()
C++ Interface: set_compass(const NodePath self, 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.
*/
- setDepthBias()
C++ Interface: set_depth_bias(const NodePath self, float slope_factor, float constant_factor, float clamp, 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.
Positive numbers are further away from the camera.
*/
- setDepthOffset()
C++ Interface: set_depth_offset(const NodePath self, 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.
@deprecated See set_depth_bias() instead, which provides more controls.
*/
- setDepthTest()
C++ Interface: set_depth_test(const NodePath self, 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()
C++ Interface: set_depth_write(const NodePath self, 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()
C++ Interface: set_effect(const NodePath self, 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()
C++ Interface: set_effects(const NodePath self, 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()
C++ Interface: set_fluid_pos(const NodePath self, const LVecBase3f pos) set_fluid_pos(const NodePath self, const NodePath other, const LVecBase3f pos) set_fluid_pos(const NodePath self, float x, float y, float z) set_fluid_pos(const NodePath self, 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.
*/
- /**
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.
*/
- /**
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
*/
- /**
Sets the translation component of the transform, relative to the other
node.
*/
- setFluidX()
C++ Interface: set_fluid_x(const NodePath self, float x) set_fluid_x(const NodePath self, const NodePath other, float x)
- setFluidY()
C++ Interface: set_fluid_y(const NodePath self, float y) set_fluid_y(const NodePath self, const NodePath other, float y)
- setFluidZ()
C++ Interface: set_fluid_z(const NodePath self, float z) set_fluid_z(const NodePath self, const NodePath other, float z)
- setFog()
C++ Interface: set_fog(const NodePath self, Fog fog, int priority)
- /**
Sets the geometry at this level and below to render using the indicated
fog.
*/
- setFogOff()
C++ Interface: set_fog_off(const NodePath self, 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()
C++ Interface: set_h(const NodePath self, float h) set_h(const NodePath self, const NodePath other, float h)
- setHpr()
C++ Interface: set_hpr(const NodePath self, const LVecBase3f hpr) set_hpr(const NodePath self, const NodePath other, const LVecBase3f hpr) set_hpr(const NodePath self, float h, float p, float r) set_hpr(const NodePath self, const NodePath other, float h, float p, float r)
- /**
Sets the rotation component of the transform, leaving translation and scale
untouched.
*/
- /**
Sets the rotation component of the transform, relative to the other node.
*/
- /**
Sets the rotation component of the transform, leaving translation and scale
untouched.
*/
- /**
Sets the rotation component of the transform, relative to the other node.
*/
- setHprScale()
C++ Interface: set_hpr_scale(const NodePath self, const LVecBase3f hpr, const LVecBase3f scale) set_hpr_scale(const NodePath self, const NodePath other, const LVecBase3f hpr, const LVecBase3f scale) set_hpr_scale(const NodePath self, float h, float p, float r, float sx, float sy, float sz) set_hpr_scale(const NodePath self, 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.
*/
- /**
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.
*/
- /**
Sets the rotation and scale components of the transform, leaving
translation untouched.
*/
- /**
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.
*/
- setInstanceCount()
C++ Interface: set_instance_count(const NodePath self, 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()
C++ Interface: set_light(const NodePath self, 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()
C++ Interface: set_light_off(const NodePath self) set_light_off(const NodePath self, const NodePath light, int priority) set_light_off(const NodePath self, 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.
*/
- /**
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.
*/
- setLogicOp()
C++ Interface: set_logic_op(const NodePath self, int 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.
@since 1.10.0
*/
- setMat()
C++ Interface: set_mat(const NodePath self, const LMatrix4f mat) set_mat(const NodePath self, const NodePath other, const LMatrix4f mat)
- setMaterial()
C++ Interface: set_material(const NodePath self, 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()
C++ Interface: set_material_off(const NodePath self, 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()
C++ Interface: set_max_search_depth(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. 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()
C++ Interface: set_name(const NodePath self, str name)
- /**
Changes the name of the referenced node.
*/
- setOccluder()
C++ Interface: set_occluder(const NodePath self, 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()
C++ Interface: set_p(const NodePath self, float p) set_p(const NodePath self, const NodePath other, float p)
- setPos()
C++ Interface: set_pos(const NodePath self, const LVecBase3f pos) set_pos(const NodePath self, const NodePath other, const LVecBase3f pos) set_pos(const NodePath self, float x, float y, float z) set_pos(const NodePath self, const NodePath other, 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.
*/
- /**
Sets the translation component of the transform, relative to the other
node.
*/
- /**
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
*/
- /**
Sets the translation component of the transform, relative to the other
node.
*/
- setPosHpr()
C++ Interface: set_pos_hpr(const NodePath self, const LVecBase3f pos, const LVecBase3f hpr) set_pos_hpr(const NodePath self, const NodePath other, const LVecBase3f pos, const LVecBase3f hpr) set_pos_hpr(const NodePath self, float x, float y, float z, float h, float p, float r) set_pos_hpr(const NodePath self, const NodePath other, float x, float y, float z, float h, float p, float r)
- /**
Sets the translation and rotation component of the transform, leaving scale
untouched.
*/
- /**
Sets the translation and rotation component of the transform, relative to
the other node.
*/
- /**
Sets the translation and rotation component of the transform, leaving scale
untouched.
*/
- /**
Sets the translation and rotation component of the transform, relative to
the other node.
*/
- setPosHprScale()
C++ Interface: set_pos_hpr_scale(const NodePath self, const LVecBase3f pos, const LVecBase3f hpr, const LVecBase3f scale) set_pos_hpr_scale(const NodePath self, const NodePath other, const LVecBase3f pos, const LVecBase3f hpr, const LVecBase3f scale) set_pos_hpr_scale(const NodePath self, float x, float y, float z, float h, float p, float r, float sx, float sy, float sz) set_pos_hpr_scale(const NodePath self, 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.
*/
- /**
Completely replaces the transform with new translation, rotation, and scale
components, relative to the other node.
*/
- /**
Replaces the translation, rotation, and scale components, implicitly
setting shear to 0.
*/
- /**
Completely replaces the transform with new translation, rotation, and scale
components, relative to the other node, implicitly setting shear to 0.
*/
- setPosHprScaleShear()
C++ Interface: set_pos_hpr_scale_shear(const NodePath self, const LVecBase3f pos, const LVecBase3f hpr, const LVecBase3f scale, const LVecBase3f shear) set_pos_hpr_scale_shear(const NodePath self, const NodePath other, const LVecBase3f pos, const LVecBase3f hpr, const LVecBase3f scale, const LVecBase3f shear)
- setPosQuat()
C++ Interface: set_pos_quat(const NodePath self, const LVecBase3f pos, const LQuaternionf quat) set_pos_quat(const NodePath self, const NodePath other, const LVecBase3f pos, const LQuaternionf quat)
- setPosQuatScale()
C++ Interface: set_pos_quat_scale(const NodePath self, const LVecBase3f pos, const LQuaternionf quat, const LVecBase3f scale) set_pos_quat_scale(const NodePath self, const NodePath other, const LVecBase3f pos, const LQuaternionf quat, const LVecBase3f scale)
- setPosQuatScaleShear()
C++ Interface: set_pos_quat_scale_shear(const NodePath self, const LVecBase3f pos, const LQuaternionf quat, const LVecBase3f scale, const LVecBase3f shear) set_pos_quat_scale_shear(const NodePath self, const NodePath other, const LVecBase3f pos, const LQuaternionf quat, const LVecBase3f scale, const LVecBase3f shear)
- setPrevTransform()
C++ Interface: set_prev_transform(const NodePath self, const TransformState transform) set_prev_transform(const NodePath self, const NodePath other, const TransformState transform, Thread current_thread) set_prev_transform(const NodePath self, 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.
*/
- /**
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.
*/
- setPythonTag()
C++ Interface: set_python_tag(const NodePath self, object keys, object value)
- setQuat()
C++ Interface: set_quat(const NodePath self, const LQuaternionf quat) set_quat(const NodePath self, const NodePath other, const LQuaternionf quat)
- setQuatScale()
C++ Interface: set_quat_scale(const NodePath self, const LQuaternionf quat, const LVecBase3f scale) set_quat_scale(const NodePath self, const NodePath other, const LQuaternionf quat, const LVecBase3f scale)
- /**
Sets the rotation and scale components of the transform, leaving
translation untouched.
*/
- /**
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()
C++ Interface: set_r(const NodePath self, float r) set_r(const NodePath self, const NodePath other, float r)
- setRenderMode()
C++ Interface: set_render_mode(const NodePath self, int 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()
C++ Interface: set_render_mode_filled(const NodePath self, int priority)
- /**
Sets up the geometry at this level and below (unless overridden) to render
in filled (i.e. not wireframe) mode.
*/
- setRenderModeFilledWireframe()
C++ Interface: set_render_mode_filled_wireframe(const NodePath self, const LVecBase4f 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()
C++ Interface: set_render_mode_perspective(const NodePath self, 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()
C++ Interface: set_render_mode_thickness(const NodePath self, 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()
C++ Interface: set_render_mode_wireframe(const NodePath self, int priority)
- /**
Sets up the geometry at this level and below (unless overridden) to render
in wireframe mode.
*/
- setSa()
C++ Interface: set_sa(const NodePath self, float sa)
- /**
Sets the alpha component of the color scale.
@see set_color_scale()
*/
- setSb()
C++ Interface: set_sb(const NodePath self, float sb)
- /**
Sets the blue component of the color scale.
@see set_color_scale()
*/
- setScale()
C++ Interface: set_scale(const NodePath self, const LVecBase3f scale) set_scale(const NodePath self, float scale) set_scale(const NodePath self, const NodePath other, const LVecBase3f scale) set_scale(const NodePath self, const NodePath other, float scale) set_scale(const NodePath self, float sx, float sy, float sz) set_scale(const NodePath self, const NodePath other, float sx, float sy, float sz)
- /**
Sets the scale component of the transform, leaving translation and rotation
untouched.
*/
- /**
Sets the scale component of the transform, relative to the other node.
*/
- /**
Sets the scale component of the transform, relative to the other node.
*/
- /**
Sets the scale component of the transform, leaving translation and rotation
untouched.
*/
- /**
Sets the scale component of the transform, relative to the other node.
*/
- setScissor()
C++ Interface: set_scissor(const NodePath self, const LPoint3f a, const LPoint3f b) set_scissor(const NodePath self, const NodePath other, const LPoint3f a, const LPoint3f b) set_scissor(const NodePath self, const LPoint3f a, const LPoint3f b, const LPoint3f c, const LPoint3f d) set_scissor(const NodePath self, float left, float right, float bottom, float top) set_scissor(const NodePath self, const NodePath other, const LPoint3f a, const LPoint3f b, const LPoint3f c, const LPoint3f d)
- /**
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.
*/
- /**
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.
*/
- /**
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).
*/
- /**
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.
*/
- /**
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).
*/
- setSg()
C++ Interface: set_sg(const NodePath self, float sg)
- /**
Sets the green component of the color scale.
@see set_color_scale()
*/
- setShaderAuto()
C++ Interface: set_shader_auto(const NodePath self) set_shader_auto(const NodePath self, BitMask shader_switch, int priority) set_shader_auto(const NodePath self, int priority)
- setShaderInput()
C++ Interface: set_shader_input(const NodePath self, const ShaderInput input) set_shader_input(const NodePath self, const InternalName param0, object param1) set_shader_input(const NodePath self, const InternalName id, int n1, int n2) set_shader_input(const NodePath self, const InternalName id, float n1, float n2) set_shader_input(const NodePath self, const InternalName id, Texture tex, const SamplerState sampler) set_shader_input(const NodePath self, const InternalName param0, object param1, int priority) set_shader_input(const NodePath self, const InternalName id, Texture tex, bool read, bool write, int z, int n, int priority) set_shader_input(const NodePath self, const InternalName id, int n1, int n2, int n3, int n4, int priority) set_shader_input(const NodePath self, const InternalName id, float n1, float n2, float n3, float n4, int priority) set_shader_input(const NodePath self, const InternalName id, Texture tex, const SamplerState sampler, int priority)
- setShaderInputs()
- setShear()
C++ Interface: set_shear(const NodePath self, const LVecBase3f shear) set_shear(const NodePath self, const NodePath other, const LVecBase3f shear) set_shear(const NodePath self, float shxy, float shxz, float shyz) set_shear(const NodePath self, const NodePath other, float shxy, float shxz, float shyz)
- /**
Sets the shear component of the transform, leaving translation, rotation,
and scale untouched.
*/
- /**
Sets the shear component of the transform, relative to the other node.
*/
- /**
Sets the shear component of the transform, leaving translation and rotation
untouched.
*/
- /**
Sets the shear component of the transform, relative to the other node.
*/
- setShxy()
C++ Interface: set_shxy(const NodePath self, float shxy) set_shxy(const NodePath self, const NodePath other, float shxy)
- setShxz()
C++ Interface: set_shxz(const NodePath self, float shxz) set_shxz(const NodePath self, const NodePath other, float shxz)
- setShyz()
C++ Interface: set_shyz(const NodePath self, float shyz) set_shyz(const NodePath self, const NodePath other, float shyz)
- setSr()
C++ Interface: set_sr(const NodePath self, float sr)
- /**
Sets the red component of the color scale.
@see set_color_scale()
*/
- setState()
C++ Interface: set_state(const NodePath self, const RenderState state) set_state(const NodePath self, const NodePath other, const RenderState state, Thread current_thread) set_state(const NodePath self, const RenderState state, Thread current_thread)
- setSx()
C++ Interface: set_sx(const NodePath self, float sx) set_sx(const NodePath self, const NodePath other, float sx)
- /**
Sets the x-scale component of the transform, leaving other components
untouched.
@see set_scale()
*/
- setSy()
C++ Interface: set_sy(const NodePath self, float sy) set_sy(const NodePath self, const NodePath other, float sy)
- /**
Sets the y-scale component of the transform, leaving other components
untouched.
@see set_scale()
*/
- setSz()
C++ Interface: set_sz(const NodePath self, float sz) set_sz(const NodePath self, const NodePath other, float sz)
- /**
Sets the z-scale component of the transform, leaving other components
untouched.
@see set_scale()
*/
- setTag()
C++ Interface: set_tag(const NodePath self, 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()
C++ Interface: set_tex_gen(const NodePath self, TextureStage stage, int mode) set_tex_gen(const NodePath self, TextureStage stage, int mode, const LPoint3f constant_value, int priority) set_tex_gen(const NodePath self, TextureStage stage, int mode, int priority)
- setTexHpr()
C++ Interface: set_tex_hpr(const NodePath self, TextureStage stage, const LVecBase3f hpr) set_tex_hpr(const NodePath self, const NodePath other, TextureStage stage, const LVecBase3f hpr) set_tex_hpr(const NodePath self, TextureStage stage, float h, float p, float r) set_tex_hpr(const NodePath self, 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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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()
C++ Interface: set_tex_offset(const NodePath self, TextureStage stage, const LVecBase2f uv) set_tex_offset(const NodePath self, TextureStage stage, float u, float v) set_tex_offset(const NodePath self, 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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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()
C++ Interface: set_tex_pos(const NodePath self, TextureStage stage, const LVecBase3f uvw) set_tex_pos(const NodePath self, const NodePath other, TextureStage stage, const LVecBase3f uvw) set_tex_pos(const NodePath self, TextureStage stage, float u, float v, float w) set_tex_pos(const NodePath self, 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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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()
C++ Interface: set_tex_projector(const NodePath self, 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()
C++ Interface: set_tex_rotate(const NodePath self, TextureStage stage, float r) set_tex_rotate(const NodePath self, 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.
*/
- /**
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()
C++ Interface: set_tex_scale(const NodePath self, TextureStage stage, const LVecBase2f scale) set_tex_scale(const NodePath self, TextureStage stage, const LVecBase3f scale) set_tex_scale(const NodePath self, TextureStage stage, float scale) set_tex_scale(const NodePath self, TextureStage stage, float su, float sv) set_tex_scale(const NodePath self, const NodePath other, TextureStage stage, const LVecBase2f scale) set_tex_scale(const NodePath self, const NodePath other, TextureStage stage, const LVecBase3f scale) set_tex_scale(const NodePath self, const NodePath other, TextureStage stage, float scale) set_tex_scale(const NodePath self, TextureStage stage, float su, float sv, float sw) set_tex_scale(const NodePath self, const NodePath other, TextureStage stage, float su, float sv) set_tex_scale(const NodePath self, 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 2-d or 3-d texture coordinates.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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()
C++ Interface: set_tex_transform(const NodePath self, TextureStage stage, const TransformState transform) set_tex_transform(const NodePath self, const NodePath other, TextureStage stage, const TransformState transform)
- setTexture()
C++ Interface: set_texture(const NodePath self, Texture tex) set_texture(const NodePath self, TextureStage stage, Texture tex) set_texture(const NodePath self, Texture tex, const SamplerState sampler) set_texture(const NodePath self, Texture tex, int priority) set_texture(const NodePath self, TextureStage stage, Texture tex, const SamplerState sampler, int priority) set_texture(const NodePath self, TextureStage stage, Texture tex, int priority) set_texture(const NodePath self, 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.
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- setTextureOff()
C++ Interface: set_texture_off(const NodePath self) set_texture_off(const NodePath self, TextureStage stage, int priority) set_texture_off(const NodePath self, 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).
*/
- /**
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).
*/
- setTransform()
C++ Interface: set_transform(const NodePath self, const TransformState transform) set_transform(const NodePath self, const NodePath other, const TransformState transform, Thread current_thread) set_transform(const NodePath self, const TransformState transform, Thread current_thread)
- setTransparency()
C++ Interface: set_transparency(const NodePath self, int 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()
C++ Interface: set_two_sided(const NodePath self, 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()
C++ Interface: set_x(const NodePath self, float x) set_x(const NodePath self, const NodePath other, float x)
- /**
Sets the X component of the position transform, leaving other components
untouched.
@see set_pos()
*/
- setY()
C++ Interface: set_y(const NodePath self, float y) set_y(const NodePath self, const NodePath other, float y)
- /**
Sets the Y component of the position transform, leaving other components
untouched.
@see set_pos()
*/
- setZ()
C++ Interface: set_z(const NodePath self, float z) set_z(const NodePath self, const NodePath other, float z)
- /**
Sets the Z component of the position transform, leaving other components
untouched.
@see set_pos()
*/
- set_all_color_scale()
C++ Interface: set_all_color_scale(const NodePath self, 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.
*/
- set_alpha_scale()
C++ Interface: set_alpha_scale(const NodePath self, 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.
*/
- set_antialias()
C++ Interface: set_antialias(const NodePath self, int mode, int priority)
- /**
Specifies the antialiasing type that should be applied at this node and
below. See AntialiasAttrib.
*/
- set_attrib()
C++ Interface: set_attrib(const NodePath self, 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.
*/
- set_audio_volume()
C++ Interface: set_audio_volume(const NodePath self, float volume, int priority)
- /**
Sets the audio volume component of the transform
*/
- set_audio_volume_off()
C++ Interface: set_audio_volume_off(const NodePath self, 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.
*/
- set_billboard_axis()
C++ Interface: set_billboard_axis(const NodePath self) set_billboard_axis(const NodePath self, float offset) set_billboard_axis(const NodePath self, const NodePath camera, float offset)
- set_billboard_point_eye()
C++ Interface: set_billboard_point_eye(const NodePath self) set_billboard_point_eye(const NodePath self, float offset) set_billboard_point_eye(const NodePath self, const NodePath camera, float offset, bool fixed_depth) set_billboard_point_eye(const NodePath self, 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.
*/
- /**
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.
*/
- set_billboard_point_world()
C++ Interface: set_billboard_point_world(const NodePath self) set_billboard_point_world(const NodePath self, float offset) set_billboard_point_world(const NodePath self, 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.
*/
- /**
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.
*/
- set_bin()
C++ Interface: set_bin(const NodePath self, 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.
*/
- set_clip_plane()
C++ Interface: set_clip_plane(const NodePath self, 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.
*/
- set_clip_plane_off()
C++ Interface: set_clip_plane_off(const NodePath self) set_clip_plane_off(const NodePath self, const NodePath clip_plane, int priority) set_clip_plane_off(const NodePath self, 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).
*/
- /**
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).
*/
- set_collide_mask()
C++ Interface: set_collide_mask(const NodePath self, BitMask new_mask, BitMask 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.
*/
- set_collide_owner()
C++ Interface: set_collide_owner(const NodePath self, object owner)
- set_color()
C++ Interface: set_color(const NodePath self, const LVecBase4f color) set_color(const NodePath self, const LVecBase4f color, int priority) set_color(const NodePath self, 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()).
*/
- /**
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()).
*/
- set_color_off()
C++ Interface: set_color_off(const NodePath self, 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).
*/
- set_color_scale()
C++ Interface: set_color_scale(const NodePath self, const LVecBase4f scale) set_color_scale(const NodePath self, const LVecBase4f scale, int priority) set_color_scale(const NodePath self, float sx, float sy, float sz, float sa, int priority)
- set_color_scale_off()
C++ Interface: set_color_scale_off(const NodePath self, 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.
*/
- set_compass()
C++ Interface: set_compass(const NodePath self, 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.
*/
- set_depth_bias()
C++ Interface: set_depth_bias(const NodePath self, float slope_factor, float constant_factor, float clamp, 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.
Positive numbers are further away from the camera.
*/
- set_depth_offset()
C++ Interface: set_depth_offset(const NodePath self, 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.
@deprecated See set_depth_bias() instead, which provides more controls.
*/
- set_depth_test()
C++ Interface: set_depth_test(const NodePath self, 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.
*/
- set_depth_write()
C++ Interface: set_depth_write(const NodePath self, 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.
*/
- set_effect()
C++ Interface: set_effect(const NodePath self, 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.
*/
- set_effects()
C++ Interface: set_effects(const NodePath self, 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().
*/
- set_fluid_pos()
C++ Interface: set_fluid_pos(const NodePath self, const LVecBase3f pos) set_fluid_pos(const NodePath self, const NodePath other, const LVecBase3f pos) set_fluid_pos(const NodePath self, float x, float y, float z) set_fluid_pos(const NodePath self, 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.
*/
- /**
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.
*/
- /**
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
*/
- /**
Sets the translation component of the transform, relative to the other
node.
*/
- set_fluid_x()
C++ Interface: set_fluid_x(const NodePath self, float x) set_fluid_x(const NodePath self, const NodePath other, float x)
- set_fluid_y()
C++ Interface: set_fluid_y(const NodePath self, float y) set_fluid_y(const NodePath self, const NodePath other, float y)
- set_fluid_z()
C++ Interface: set_fluid_z(const NodePath self, float z) set_fluid_z(const NodePath self, const NodePath other, float z)
- set_fog()
C++ Interface: set_fog(const NodePath self, Fog fog, int priority)
- /**
Sets the geometry at this level and below to render using the indicated
fog.
*/
- set_fog_off()
C++ Interface: set_fog_off(const NodePath self, 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).
*/
- set_h()
C++ Interface: set_h(const NodePath self, float h) set_h(const NodePath self, const NodePath other, float h)
- set_hpr()
C++ Interface: set_hpr(const NodePath self, const LVecBase3f hpr) set_hpr(const NodePath self, const NodePath other, const LVecBase3f hpr) set_hpr(const NodePath self, float h, float p, float r) set_hpr(const NodePath self, const NodePath other, float h, float p, float r)
- /**
Sets the rotation component of the transform, leaving translation and scale
untouched.
*/
- /**
Sets the rotation component of the transform, relative to the other node.
*/
- /**
Sets the rotation component of the transform, leaving translation and scale
untouched.
*/
- /**
Sets the rotation component of the transform, relative to the other node.
*/
- set_hpr_scale()
C++ Interface: set_hpr_scale(const NodePath self, const LVecBase3f hpr, const LVecBase3f scale) set_hpr_scale(const NodePath self, const NodePath other, const LVecBase3f hpr, const LVecBase3f scale) set_hpr_scale(const NodePath self, float h, float p, float r, float sx, float sy, float sz) set_hpr_scale(const NodePath self, 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.
*/
- /**
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.
*/
- /**
Sets the rotation and scale components of the transform, leaving
translation untouched.
*/
- /**
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.
*/
- set_instance_count()
C++ Interface: set_instance_count(const NodePath self, 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.
*/
- set_light()
C++ Interface: set_light(const NodePath self, 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.
*/
- set_light_off()
C++ Interface: set_light_off(const NodePath self) set_light_off(const NodePath self, const NodePath light, int priority) set_light_off(const NodePath self, 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.
*/
- /**
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.
*/
- set_logic_op()
C++ Interface: set_logic_op(const NodePath self, int 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.
@since 1.10.0
*/
- set_mat()
C++ Interface: set_mat(const NodePath self, const LMatrix4f mat) set_mat(const NodePath self, const NodePath other, const LMatrix4f mat)
- set_material()
C++ Interface: set_material(const NodePath self, 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.
*/
- set_material_off()
C++ Interface: set_material_off(const NodePath self, 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).
*/
- set_max_search_depth()
C++ Interface: set_max_search_depth(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. 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.
*/
- set_name()
C++ Interface: set_name(const NodePath self, str name)
- /**
Changes the name of the referenced node.
*/
- set_occluder()
C++ Interface: set_occluder(const NodePath self, 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.
*/
- set_p()
C++ Interface: set_p(const NodePath self, float p) set_p(const NodePath self, const NodePath other, float p)
- set_pos()
C++ Interface: set_pos(const NodePath self, const LVecBase3f pos) set_pos(const NodePath self, const NodePath other, const LVecBase3f pos) set_pos(const NodePath self, float x, float y, float z) set_pos(const NodePath self, const NodePath other, 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.
*/
- /**
Sets the translation component of the transform, relative to the other
node.
*/
- /**
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
*/
- /**
Sets the translation component of the transform, relative to the other
node.
*/
- set_pos_hpr()
C++ Interface: set_pos_hpr(const NodePath self, const LVecBase3f pos, const LVecBase3f hpr) set_pos_hpr(const NodePath self, const NodePath other, const LVecBase3f pos, const LVecBase3f hpr) set_pos_hpr(const NodePath self, float x, float y, float z, float h, float p, float r) set_pos_hpr(const NodePath self, const NodePath other, float x, float y, float z, float h, float p, float r)
- /**
Sets the translation and rotation component of the transform, leaving scale
untouched.
*/
- /**
Sets the translation and rotation component of the transform, relative to
the other node.
*/
- /**
Sets the translation and rotation component of the transform, leaving scale
untouched.
*/
- /**
Sets the translation and rotation component of the transform, relative to
the other node.
*/
- set_pos_hpr_scale()
C++ Interface: set_pos_hpr_scale(const NodePath self, const LVecBase3f pos, const LVecBase3f hpr, const LVecBase3f scale) set_pos_hpr_scale(const NodePath self, const NodePath other, const LVecBase3f pos, const LVecBase3f hpr, const LVecBase3f scale) set_pos_hpr_scale(const NodePath self, float x, float y, float z, float h, float p, float r, float sx, float sy, float sz) set_pos_hpr_scale(const NodePath self, 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.
*/
- /**
Completely replaces the transform with new translation, rotation, and scale
components, relative to the other node.
*/
- /**
Replaces the translation, rotation, and scale components, implicitly
setting shear to 0.
*/
- /**
Completely replaces the transform with new translation, rotation, and scale
components, relative to the other node, implicitly setting shear to 0.
*/
- set_pos_hpr_scale_shear()
C++ Interface: set_pos_hpr_scale_shear(const NodePath self, const LVecBase3f pos, const LVecBase3f hpr, const LVecBase3f scale, const LVecBase3f shear) set_pos_hpr_scale_shear(const NodePath self, const NodePath other, const LVecBase3f pos, const LVecBase3f hpr, const LVecBase3f scale, const LVecBase3f shear)
- set_pos_quat()
C++ Interface: set_pos_quat(const NodePath self, const LVecBase3f pos, const LQuaternionf quat) set_pos_quat(const NodePath self, const NodePath other, const LVecBase3f pos, const LQuaternionf quat)
- set_pos_quat_scale()
C++ Interface: set_pos_quat_scale(const NodePath self, const LVecBase3f pos, const LQuaternionf quat, const LVecBase3f scale) set_pos_quat_scale(const NodePath self, const NodePath other, const LVecBase3f pos, const LQuaternionf quat, const LVecBase3f scale)
- set_pos_quat_scale_shear()
C++ Interface: set_pos_quat_scale_shear(const NodePath self, const LVecBase3f pos, const LQuaternionf quat, const LVecBase3f scale, const LVecBase3f shear) set_pos_quat_scale_shear(const NodePath self, const NodePath other, const LVecBase3f pos, const LQuaternionf quat, const LVecBase3f scale, const LVecBase3f shear)
- set_prev_transform()
C++ Interface: set_prev_transform(const NodePath self, const TransformState transform) set_prev_transform(const NodePath self, const NodePath other, const TransformState transform, Thread current_thread) set_prev_transform(const NodePath self, 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.
*/
- /**
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.
*/
- set_python_tag()
C++ Interface: set_python_tag(const NodePath self, object keys, object value)
- set_quat()
C++ Interface: set_quat(const NodePath self, const LQuaternionf quat) set_quat(const NodePath self, const NodePath other, const LQuaternionf quat)
- set_quat_scale()
C++ Interface: set_quat_scale(const NodePath self, const LQuaternionf quat, const LVecBase3f scale) set_quat_scale(const NodePath self, const NodePath other, const LQuaternionf quat, const LVecBase3f scale)
- /**
Sets the rotation and scale components of the transform, leaving
translation untouched.
*/
- /**
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.
*/
- set_r()
C++ Interface: set_r(const NodePath self, float r) set_r(const NodePath self, const NodePath other, float r)
- set_render_mode()
C++ Interface: set_render_mode(const NodePath self, int 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.
*/
- set_render_mode_filled()
C++ Interface: set_render_mode_filled(const NodePath self, int priority)
- /**
Sets up the geometry at this level and below (unless overridden) to render
in filled (i.e. not wireframe) mode.
*/
- set_render_mode_filled_wireframe()
C++ Interface: set_render_mode_filled_wireframe(const NodePath self, const LVecBase4f 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.
*/
- set_render_mode_perspective()
C++ Interface: set_render_mode_perspective(const NodePath self, 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.
*/
- set_render_mode_thickness()
C++ Interface: set_render_mode_thickness(const NodePath self, 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.
*/
- set_render_mode_wireframe()
C++ Interface: set_render_mode_wireframe(const NodePath self, int priority)
- /**
Sets up the geometry at this level and below (unless overridden) to render
in wireframe mode.
*/
- set_sa()
C++ Interface: set_sa(const NodePath self, float sa)
- /**
Sets the alpha component of the color scale.
@see set_color_scale()
*/
- set_sb()
C++ Interface: set_sb(const NodePath self, float sb)
- /**
Sets the blue component of the color scale.
@see set_color_scale()
*/
- set_scale()
C++ Interface: set_scale(const NodePath self, const LVecBase3f scale) set_scale(const NodePath self, float scale) set_scale(const NodePath self, const NodePath other, const LVecBase3f scale) set_scale(const NodePath self, const NodePath other, float scale) set_scale(const NodePath self, float sx, float sy, float sz) set_scale(const NodePath self, const NodePath other, float sx, float sy, float sz)
- /**
Sets the scale component of the transform, leaving translation and rotation
untouched.
*/
- /**
Sets the scale component of the transform, relative to the other node.
*/
- /**
Sets the scale component of the transform, relative to the other node.
*/
- /**
Sets the scale component of the transform, leaving translation and rotation
untouched.
*/
- /**
Sets the scale component of the transform, relative to the other node.
*/
- set_scissor()
C++ Interface: set_scissor(const NodePath self, const LPoint3f a, const LPoint3f b) set_scissor(const NodePath self, const NodePath other, const LPoint3f a, const LPoint3f b) set_scissor(const NodePath self, const LPoint3f a, const LPoint3f b, const LPoint3f c, const LPoint3f d) set_scissor(const NodePath self, float left, float right, float bottom, float top) set_scissor(const NodePath self, const NodePath other, const LPoint3f a, const LPoint3f b, const LPoint3f c, const LPoint3f d)
- /**
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.
*/
- /**
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.
*/
- /**
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).
*/
- /**
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.
*/
- /**
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).
*/
- set_sg()
C++ Interface: set_sg(const NodePath self, float sg)
- /**
Sets the green component of the color scale.
@see set_color_scale()
*/
- set_shader_auto()
C++ Interface: set_shader_auto(const NodePath self) set_shader_auto(const NodePath self, BitMask shader_switch, int priority) set_shader_auto(const NodePath self, int priority)
- set_shader_input()
C++ Interface: set_shader_input(const NodePath self, const ShaderInput input) set_shader_input(const NodePath self, const InternalName param0, object param1) set_shader_input(const NodePath self, const InternalName id, int n1, int n2) set_shader_input(const NodePath self, const InternalName id, float n1, float n2) set_shader_input(const NodePath self, const InternalName id, Texture tex, const SamplerState sampler) set_shader_input(const NodePath self, const InternalName param0, object param1, int priority) set_shader_input(const NodePath self, const InternalName id, Texture tex, bool read, bool write, int z, int n, int priority) set_shader_input(const NodePath self, const InternalName id, int n1, int n2, int n3, int n4, int priority) set_shader_input(const NodePath self, const InternalName id, float n1, float n2, float n3, float n4, int priority) set_shader_input(const NodePath self, const InternalName id, Texture tex, const SamplerState sampler, int priority)
- set_shader_inputs()
- set_shear()
C++ Interface: set_shear(const NodePath self, const LVecBase3f shear) set_shear(const NodePath self, const NodePath other, const LVecBase3f shear) set_shear(const NodePath self, float shxy, float shxz, float shyz) set_shear(const NodePath self, const NodePath other, float shxy, float shxz, float shyz)
- /**
Sets the shear component of the transform, leaving translation, rotation,
and scale untouched.
*/
- /**
Sets the shear component of the transform, relative to the other node.
*/
- /**
Sets the shear component of the transform, leaving translation and rotation
untouched.
*/
- /**
Sets the shear component of the transform, relative to the other node.
*/
- set_shxy()
C++ Interface: set_shxy(const NodePath self, float shxy) set_shxy(const NodePath self, const NodePath other, float shxy)
- set_shxz()
C++ Interface: set_shxz(const NodePath self, float shxz) set_shxz(const NodePath self, const NodePath other, float shxz)
- set_shyz()
C++ Interface: set_shyz(const NodePath self, float shyz) set_shyz(const NodePath self, const NodePath other, float shyz)
- set_sr()
C++ Interface: set_sr(const NodePath self, float sr)
- /**
Sets the red component of the color scale.
@see set_color_scale()
*/
- set_state()
C++ Interface: set_state(const NodePath self, const RenderState state) set_state(const NodePath self, const NodePath other, const RenderState state, Thread current_thread) set_state(const NodePath self, const RenderState state, Thread current_thread)
- set_sx()
C++ Interface: set_sx(const NodePath self, float sx) set_sx(const NodePath self, const NodePath other, float sx)
- /**
Sets the x-scale component of the transform, leaving other components
untouched.
@see set_scale()
*/
- set_sy()
C++ Interface: set_sy(const NodePath self, float sy) set_sy(const NodePath self, const NodePath other, float sy)
- /**
Sets the y-scale component of the transform, leaving other components
untouched.
@see set_scale()
*/
- set_sz()
C++ Interface: set_sz(const NodePath self, float sz) set_sz(const NodePath self, const NodePath other, float sz)
- /**
Sets the z-scale component of the transform, leaving other components
untouched.
@see set_scale()
*/
- set_tag()
C++ Interface: set_tag(const NodePath self, 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.
*/
- set_tex_gen()
C++ Interface: set_tex_gen(const NodePath self, TextureStage stage, int mode) set_tex_gen(const NodePath self, TextureStage stage, int mode, const LPoint3f constant_value, int priority) set_tex_gen(const NodePath self, TextureStage stage, int mode, int priority)
- set_tex_hpr()
C++ Interface: set_tex_hpr(const NodePath self, TextureStage stage, const LVecBase3f hpr) set_tex_hpr(const NodePath self, const NodePath other, TextureStage stage, const LVecBase3f hpr) set_tex_hpr(const NodePath self, TextureStage stage, float h, float p, float r) set_tex_hpr(const NodePath self, 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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- set_tex_offset()
C++ Interface: set_tex_offset(const NodePath self, TextureStage stage, const LVecBase2f uv) set_tex_offset(const NodePath self, TextureStage stage, float u, float v) set_tex_offset(const NodePath self, 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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- set_tex_pos()
C++ Interface: set_tex_pos(const NodePath self, TextureStage stage, const LVecBase3f uvw) set_tex_pos(const NodePath self, const NodePath other, TextureStage stage, const LVecBase3f uvw) set_tex_pos(const NodePath self, TextureStage stage, float u, float v, float w) set_tex_pos(const NodePath self, 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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- set_tex_projector()
C++ Interface: set_tex_projector(const NodePath self, 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.
*/
- set_tex_rotate()
C++ Interface: set_tex_rotate(const NodePath self, TextureStage stage, float r) set_tex_rotate(const NodePath self, 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.
*/
- /**
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.
*/
- set_tex_scale()
C++ Interface: set_tex_scale(const NodePath self, TextureStage stage, const LVecBase2f scale) set_tex_scale(const NodePath self, TextureStage stage, const LVecBase3f scale) set_tex_scale(const NodePath self, TextureStage stage, float scale) set_tex_scale(const NodePath self, TextureStage stage, float su, float sv) set_tex_scale(const NodePath self, const NodePath other, TextureStage stage, const LVecBase2f scale) set_tex_scale(const NodePath self, const NodePath other, TextureStage stage, const LVecBase3f scale) set_tex_scale(const NodePath self, const NodePath other, TextureStage stage, float scale) set_tex_scale(const NodePath self, TextureStage stage, float su, float sv, float sw) set_tex_scale(const NodePath self, const NodePath other, TextureStage stage, float su, float sv) set_tex_scale(const NodePath self, 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 2-d or 3-d texture coordinates.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- set_tex_transform()
C++ Interface: set_tex_transform(const NodePath self, TextureStage stage, const TransformState transform) set_tex_transform(const NodePath self, const NodePath other, TextureStage stage, const TransformState transform)
- set_texture()
C++ Interface: set_texture(const NodePath self, Texture tex) set_texture(const NodePath self, TextureStage stage, Texture tex) set_texture(const NodePath self, Texture tex, const SamplerState sampler) set_texture(const NodePath self, Texture tex, int priority) set_texture(const NodePath self, TextureStage stage, Texture tex, const SamplerState sampler, int priority) set_texture(const NodePath self, TextureStage stage, Texture tex, int priority) set_texture(const NodePath self, 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.
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.
*/
- /**
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.
*/
- /**
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.
*/
- /**
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.
*/
- set_texture_off()
C++ Interface: set_texture_off(const NodePath self) set_texture_off(const NodePath self, TextureStage stage, int priority) set_texture_off(const NodePath self, 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).
*/
- /**
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).
*/
- set_transform()
C++ Interface: set_transform(const NodePath self, const TransformState transform) set_transform(const NodePath self, const NodePath other, const TransformState transform, Thread current_thread) set_transform(const NodePath self, const TransformState transform, Thread current_thread)
- set_transparency()
C++ Interface: set_transparency(const NodePath self, int 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.
*/
- set_two_sided()
C++ Interface: set_two_sided(const NodePath self, 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).
*/
- set_x()
C++ Interface: set_x(const NodePath self, float x) set_x(const NodePath self, const NodePath other, float x)
- /**
Sets the X component of the position transform, leaving other components
untouched.
@see set_pos()
*/
- set_y()
C++ Interface: set_y(const NodePath self, float y) set_y(const NodePath self, const NodePath other, float y)
- /**
Sets the Y component of the position transform, leaving other components
untouched.
@see set_pos()
*/
- set_z()
C++ Interface: set_z(const NodePath self, float z) set_z(const NodePath self, const NodePath other, float z)
- /**
Sets the Z component of the position transform, leaving other components
untouched.
@see set_pos()
*/
- shearInterval(self, *args, **kw)
- show()
C++ Interface: show(const NodePath self) show(const NodePath self, BitMask camera_mask)
// Variants on show and hide
- /**
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.
*/
- /**
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().
*/
- showAllDescendants(self)
Deprecated. Show the node path and all its children
- showBounds()
C++ Interface: show_bounds(const NodePath self)
- /**
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.
*/
- showCS(self, mask=None)
Deprecated. Shows the collision solids at or below this node. If mask is not None, it is a BitMask32 object (e.g. WallBitmask, CameraBitmask) that indicates which particular collision solids should be made visible; otherwise, all of them will be.
- showSiblings(self)
Deprecated. Show all the siblings of a node path
- showThrough()
C++ Interface: show_through(const NodePath self) show_through(const NodePath self, BitMask 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, thus “showing through” a parent’s hide().
*/
- /**
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()
C++ Interface: show_tight_bounds(const NodePath self)
- /**
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.
*/
- show_bounds()
C++ Interface: show_bounds(const NodePath self)
- /**
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.
*/
- show_through()
C++ Interface: show_through(const NodePath self) show_through(const NodePath self, BitMask 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, thus “showing through” a parent’s hide().
*/
- /**
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.)
*/
- show_tight_bounds()
C++ Interface: show_tight_bounds(const NodePath self)
- /**
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.
*/
- sort
- stash()
C++ Interface: stash(const NodePath self, 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()
C++ Interface: stash_to(const NodePath self, 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().
*/
- stash_to()
C++ Interface: stash_to(const NodePath self, 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().
*/
- stashed_children
- subdivideCollisions(self, numSolidsInLeaves)
expand CollisionNodes out into balanced trees, with a particular number of solids in the leaves TODO: better splitting logic at each level of the tree wrt spatial separation and cost of bounding volume tests vs. cost of collision solid tests
- tags
- toggleVis(self)
Deprecated. Toggles visibility of a nodePath
- unifyTextureStages()
C++ Interface: unify_texture_stages(const NodePath self, 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.
*/
- unify_texture_stages()
C++ Interface: unify_texture_stages(const NodePath self, 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()
C++ Interface: unstash(const NodePath self, 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()
C++ Interface: unstash_all(const NodePath self, Thread current_thread)
- /**
Unstashes this node and all stashed child nodes.
*/
- unstash_all()
C++ Interface: unstash_all(const NodePath self, Thread current_thread)
- /**
Unstashes this node and all stashed child nodes.
*/
- verifyComplete()
C++ Interface: verify_complete(NodePath self, Thread current_thread)
// Miscellaneous
- /**
Returns true if all of the nodes described in the NodePath are connected,
or false otherwise.
*/
- verify_complete()
C++ Interface: verify_complete(NodePath self, Thread current_thread)
// Miscellaneous
- /**
Returns true if all of the nodes described in the NodePath are connected,
or false otherwise.
*/
- writeBamFile()
C++ Interface: write_bam_file(NodePath self, 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()
C++ Interface: write_bam_stream(NodePath self, ostream out)
- /**
Writes the contents of this node and below out to the indicated stream.
*/
- writeBounds()
C++ Interface: write_bounds(NodePath self, ostream out)
- /**
Writes a description of the bounding volume containing the bottom node and
all of its descendants to the indicated output stream.
*/
- write_bam_file()
C++ Interface: write_bam_file(NodePath self, 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.
*/
- write_bam_stream()
C++ Interface: write_bam_stream(NodePath self, ostream out)
- /**
Writes the contents of this node and below out to the indicated stream.
*/
- write_bounds()
C++ Interface: write_bounds(NodePath self, ostream out)
- /**
Writes a description of the bounding volume containing the bottom node and
all of its descendants to the indicated output stream.
*/
- wrtReparentTo()
C++ Interface: wrt_reparent_to(const NodePath self, 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.
*/
- wrt_reparent_to()
C++ Interface: wrt_reparent_to(const NodePath self, 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.
*/