WeakNodePath¶

class WeakNodePath

This class is a wrapper around a NodePath that, unlike the actual NodePath class, doesn’t hold a reference count to the node. Thus the node may be detached from the scene graph and destructed at any time.

You can call is_valid() or was_deleted() at any time to determine whether the node is still around; if it is, get_node_path() will return the associated NodePath.

Inheritance diagram

WeakNodePath(NodePath const &node_path)
WeakNodePath(WeakNodePath const &copy)
void clear(void)

Sets this NodePath to the empty NodePath. It will no longer point to any node.

int compare_to(NodePath const &other) const
int compare_to(WeakNodePath const &other) const

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 WeakNodePath sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent.

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

int get_key(void) const

Returns the same values as NodePath::get_key().

NodePath get_node_path(void) const

Returns the NodePath held within this object, or an empty NodePath with the error flag set if the object was deleted.

bool is_empty(void) const

Returns true if the NodePath contains no nodes, or if it has been deleted.

PointerTo<PandaNode> node(void) const

Returns the PandaNode held within this object, or nullptr if the object was deleted.

void output(std::ostream &out) const
bool was_deleted(void) const

Returns true if the NodePath we were referencing has been quietly deleted outside of the WeakNodePath.