PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University. More...
Go to the source code of this file.
Functions | |
CPT (RenderAttrib) PandaNode | |
Returns the render attribute of the indicated type, if it is defined on the node, or NULL if it is not. More... | |
CPT (RenderEffect) PandaNode | |
Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not. More... | |
CPT (RenderEffects) PandaNode | |
Returns the complete RenderEffects that will be applied to this node. More... | |
CPT (TransformState) PandaNode | |
Returns the transform that has been set on this particular node. More... | |
CPT (BoundingVolume) PandaNode | |
Returns the node's internal bounding volume. More... | |
CPT (PandaNode::Down) PandaNode | |
Returns a read-only pointer to the _down list. More... | |
CPT (PandaNode::Up) PandaNode | |
Returns a read-only pointer to the _up list. More... | |
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
All rights reserved.
All use of this software is subject to the terms of the revised BSD license. You should have received a copy of this license along with this source code in a file named "LICENSE."
Definition in file pandaNode.I.
|
inline |
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. 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. Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not. Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not. 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.
Definition at line 189 of file pandaNode.I.
|
inline |
Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.
Returns true if there is a render effect of the indicated type defined on this node, or false if there is not. Returns the complete RenderState that will be applied to all nodes at this level and below, as set on this node. This returns only the RenderState set on this particular node, and has nothing to do with state that might be inherited from above. Resets this node to leave the render state alone. Nodes at this level and below will once again inherit their render state unchanged from the nodes above this level.
Definition at line 243 of file pandaNode.I.
|
inline |
Returns the complete RenderEffects that will be applied to this node.
This function is used to share a common RenderEffects pointer for all equivalent RenderEffects objects.
Returns a new RenderEffects object that represents the same as the source state, with the new RenderEffect added.
Returns a RenderEffects with four effects set.
Returns a RenderEffects with three effects set.
Returns a RenderEffects with two effects set.
Resets this node to have no render effects.
If there is already a RenderEffect with the same type, it is replaced. Returns a new RenderEffects object that represents the same as the source state, with the indicated RenderEffect removed. Looks for a RenderEffect of the indicated type in the state, and returns it if it is found, or NULL if it is not. This method overrides ReferenceCount::unref() to check whether the remaining reference count is entirely in the cache, and if so, it checks for and breaks a cycle in the cache involving this object. This is designed to prevent leaks from cyclical references within the cache.
Note that this is not a virtual method, and cannot be because ReferenceCount itself declares no virtual methods (it avoids the overhead of a virtual function pointer). But this doesn't matter, because PT(TransformState) is a template class, and will call the appropriate method even though it is non-virtual. Returns the total number of unique RenderEffects objects allocated in the world. This will go up and down during normal operations.
See the similar logic in RenderEffect. The idea is to create a new RenderEffects object and pass it through this function, which will share the pointer with a previously-created RenderEffects object if it is equivalent.
Definition at line 289 of file pandaNode.I.
|
inline |
Returns the transform that has been set on this particular node.
Returns the transform that has been set as this node's "previous" position.
This is not the net transform from the root, but simply the transform on this particular node. Resets the transform on this node to the identity transform.
See set_prev_transform(). Returns true if this node has the _dirty_prev_transform flag set, which indicates its _prev_transform is different from its _transform value (in pipeline stage 0). In this case, the node will be visited by reset_prev_transform(). 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. 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. Returns the number of tags applied to this node. Returns the key of the nth tag applied to this node. Returns true if the node has any tags (or any Python tags) at all, false if it has none. Lists all the nodes at and below the current path hierarchically. Returns the special bit that, when specifically cleared in the node's DrawMask, indicates that the node is hidden to all cameras, regardless of the remaining DrawMask bits.
Definition at line 308 of file pandaNode.I.
|
inline |
Returns the node's internal bounding volume.
Returns the node's user bounding volume.
This is the bounding volume around the node alone, without including children. If the user has called set_bounds(), it will be the specified bounding volume. Returns the total number of vertices that will be rendered by this particular node alone, not accounting for its children.
This may not include all vertices for certain dynamic effects. Returns true if the bounding volume of this node is stale and will be implicitly recomputed at the next call to get_bounds(), or false if it is fresh and need not be recomputed. Sets the "final" flag on this PandaNode. If this is true, than no bounding volume need be tested below it; a positive intersection with this node's bounding volume is deemed to be a positive intersection with all geometry inside.
This is useful to quickly force a larger bounding volume around a node when the GeomNodes themselves are inaccurate for some reason, without forcing a recompute of every nested bounding volume. It's also helpful when the bounding volume is tricked by some special properties, like billboards, that may move geometry out of its bounding volume otherwise.
This is the bounding volume specified with get_bounds(). This will return NULL if the user bounding volume has never been set. Indicates that the bounding volume, or something that influences the bounding volume (or any of the other things stored in CData, like net_collide_mask), may have changed for this node, and that it must be recomputed. Should be called by a derived class to mark the internal bounding volume stale, so that recompute_internal_bounds() will be called when the bounding volume is next requested.
Definition at line 507 of file pandaNode.I.
|
inline |
Returns a read-only pointer to the _down list.
Returns a read-only pointer to the _stashed list.
Returns a modifiable, unique pointer to the _down list.
Returns a modifiable, unique pointer to the _stashed list.
Definition at line 854 of file pandaNode.I.
|
inline |
Returns a read-only pointer to the _up list.
Returns a modifiable, unique pointer to the _up list.
Definition at line 886 of file pandaNode.I.