Panda3D
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties
Public Member Functions | Static Public Member Functions
NodeReferenceCount Class Reference

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. More...

Inheritance diagram for NodeReferenceCount:
ReferenceCount

List of all members.

Public Member Functions

int getNodeRefCount ()
 Returns the current reference count.
 nodeRef ()
 Explicitly increments the node reference count and the normal reference count simultaneously.
bool nodeUnref ()
 Explicitly decrements the node reference count and the normal reference count simultaneously.
bool testRefCountIntegrity ()
 Does some easy checks to make sure that the reference count isn't completely bogus.

Static Public Member Functions

static TypeHandle getClassType ()

Detailed Description

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.


Member Function Documentation

static TypeHandle getClassType ( ) [static]

Reimplemented from ReferenceCount.

Returns the current reference count.

nodeRef ( )

Explicitly increments the node reference count and the normal reference count simultaneously.

bool nodeUnref ( )

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.

Does some easy checks to make sure that the reference count isn't completely bogus.

Reimplemented from ReferenceCount.

 All Classes Namespaces Functions Variables Enumerations Enumerator Properties