NodeReferenceCount

from panda3d.core import NodeReferenceCount
class NodeReferenceCount

Bases: ReferenceCount

This class specializes ReferenceCount to add an additional counter, called node_ref_count, for the purposes of counting the number of times the object is referenced by a “node”, whatever that may mean in context.

The new methods node_ref() and node_unref() automatically increment and decrement the primary reference count as well. There also exists a NodePointerTo<> class to maintain the node_ref counters automatically.

See also CachedTypedWritableReferenceCount, which is similar in principle, as well as NodeCachedReferenceCount, which combines both of these.

Inheritance diagram

Inheritance diagram of NodeReferenceCount

__init__(*args, **kwargs)
getClassType()

C++ Interface: get_class_type()

getNodeRefCount()

C++ Interface: get_node_ref_count(NodeReferenceCount self)

/**
  • Returns the current reference count.

*/

get_class_type()

C++ Interface: get_class_type()

get_node_ref_count()

C++ Interface: get_node_ref_count(NodeReferenceCount self)

/**
  • Returns the current reference count.

*/

nodeRef()

C++ Interface: node_ref(NodeReferenceCount self)

/**
  • Explicitly increments the node reference count and the normal reference

  • count simultaneously.

*/

nodeUnref()

C++ Interface: node_unref(NodeReferenceCount self)

/**
  • Explicitly decrements the node reference count and the normal reference

  • count simultaneously.

  • The return value is true if the new reference count is nonzero, false if it

  • is zero.

*/

nodeUnrefOnly()

C++ Interface: node_unref_only(NodeReferenceCount self)

/**
  • Decrements the node reference count without affecting the normal reference

  • count. Intended to be called by derived classes only, presumably to

  • reimplement node_unref().

*/

node_ref()

C++ Interface: node_ref(NodeReferenceCount self)

/**
  • Explicitly increments the node reference count and the normal reference

  • count simultaneously.

*/

node_unref()

C++ Interface: node_unref(NodeReferenceCount self)

/**
  • Explicitly decrements the node reference count and the normal reference

  • count simultaneously.

  • The return value is true if the new reference count is nonzero, false if it

  • is zero.

*/

node_unref_only()

C++ Interface: node_unref_only(NodeReferenceCount self)

/**
  • Decrements the node reference count without affecting the normal reference

  • count. Intended to be called by derived classes only, presumably to

  • reimplement node_unref().

*/

testRefCountIntegrity()

C++ Interface: test_ref_count_integrity(NodeReferenceCount self)

/**
  • Does some easy checks to make sure that the reference count isn’t

  • completely bogus.

*/

test_ref_count_integrity()

C++ Interface: test_ref_count_integrity(NodeReferenceCount self)

/**
  • Does some easy checks to make sure that the reference count isn’t

  • completely bogus.

*/