Panda3D
Class Hierarchy

Don't mind the mess!

We're currently in the process of migrating the Panda3D API Reference to a new service. This is a temporary layout in the meantime.

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345678]
 C_AttrNotFound
 C_CFGLGlobals
 CActionMgr
 CActor
 CAdaptiveLruPageDynamicList
 CAdaptiveLruPageStaticList
 CAIBehaviorsThis class implements all the steering behaviors of the AI framework, such as seek, flee, pursue, evade, wander and flock
 CAINodeThis class is used to assign the nodes on the mesh
 CAIWorldA class that implements the virtual AI world which keeps track of the AI characters active at any given time
 CAllHitsRayResultCallback
 CAlphabetCounter
 CAnimControlCollectionThis is a named collection of AnimControl pointers
 CActor.AnimDef
 CAnimInterfaceThis is the fundamental interface for things that have a play/loop/stop type interface for frame-based animation, such as animated characters
 CAnimMgrBase
 CAsyncTaskCollectionA list of tasks, for instance as returned by some of the AsyncTaskManager query functions
 CAttribNodeRegistryThis global object records NodePaths that are referenced by scene graph attribs, such as ClipPlaneAttribs and LightAttribs
 CAttributeError
 CAudio3DManager
 CAverager
 CAxisState
 CInputDevice::AxisState
 CBamCacheThis class maintains a cache of Bam and/or Txo objects generated from model files and texture images (as well as possibly other kinds of loadable objects that can be stored in bam file format)
 CBamEnumsThis class exists just to provide scoping for the enums shared by BamReader and BamWriter
 CBasicSkelThis is the most basic of the skeleton classes
 CInputDevice::BatteryData
 CBatteryData
 CBitArrayA dynamic array with an unlimited number of bits
 CBitMaskUint16T16
 CBitMaskUint32T32
 CBitMaskUint64T64
 CBrowserObject
 CBulletContact
 CBulletHelper
 CBulletinBoard
 CBulletManifoldPoint
 CBulletPersistentManifold
 CBulletRayHit
 CBulletRotationalLimitMotorRotation Limit structure for generic joints
 CBulletSoftBodyConfig
 CBulletSoftBodyMaterial
 CBulletSoftBodyNodeElement
 CBulletSoftBodyWorldInfo
 CBulletTranslationalLimitMotorRotation Limit structure for generic joints
 CBulletVehicleTuning
 CBulletWheelOne wheel of a BulletVehicle
 CBulletWheelRaycastInfo
 CButtonHandleA ButtonHandle represents a single button from any device, including keyboard buttons and mouse buttons (but see KeyboardButton and MouseButton)
 CButtonRegistryMaintains all the assigned ButtonHandles in a given system
 CInputDevice::ButtonState
 CButtonState
 CCachedDOData
 CLoader.Callback
 CCartesianGridBase
 CCConnectionRepositoryThis class implements the C++ side of the ConnectionRepository object
 CCDistributedSmoothNodeBaseThis class defines some basic methods of DistributedSmoothNodeBase which have been moved into C++ as a performance optimization
 CPandaNode::Children
 CChildren
 CCIntervalManagerThis object holds a number of currently-playing intervals and is responsible for advancing them each frame as needed
 CServerRepository.Client
 CClosestConvexResultCallback
 CClosestRayResultCallback
 CClusterConfigItem
 CClusterMsgHandler
 CColorInterpolationFunction
 CCommand
 CCommonFilters
 CConcreteStruct
 CConditionVarDirectA condition variable, usually used to communicate information about changing state to a thread that is waiting for something to happen
 CConditionVarFull
 CConditionVarFullDirectA condition variable, usually used to communicate information about changing state to a thread that is waiting for something to happen
 CConfigFlagsThis class is the base class of both ConfigVariable and ConfigVariableCore
 CConfigPageA page of ConfigDeclarations that may be loaded or unloaded
 CConfigVariableManagerA global object that maintains the set of ConfigVariables (actually, ConfigVariableCores) everywhere in the world, and keeps them in sorted order
 CConnection
 CConnectionManagerThe primary interface to the low-level networking layer in this package
 CConnectionReaderThis is an abstract base class for a family of classes that listen for activity on a socket and respond to it, for instance by reading a datagram and serving it (or queueing it up for later service)
 CConnectionWriterThis class handles threaded delivery of datagrams to various TCP or UDP sockets
 CContactResultCallback
 CControlManager
 CCRCache
 CCRDataCache
 CLMatrix3f::CRow
 CCRow
 CLMatrix4f::CRow
 CLMatrix3d::CRow
 CLMatrix4d::CRow
 CPNMImage::CRow
 CCubeColourDialog
 CCullBinEnumsProvides scoping for the enumerated type shared by CullBin and CullBinManager
 CCullHandler
 CCullTraverserDataThis collects together the pieces of data that are accumulated for each node while walking the scene graph during the cull traversal
 CCurveFitter
 CDatagramGeneratorThis class defines the abstract interace to any source of datagrams, whether it be from a file or from the net
 CDatagramIteratorA class to retrieve the individual data elements previously stored in a Datagram
 CDatagramSinkThis class defines the abstract interface to sending datagrams to any target, whether it be into a file or across the net
 CDataGraphTraverserThis object supervises the traversal of the data graph and the moving of data from one DataNode to its children
 CDCDeclarationThis is a common interface for a declaration in a DC file
 CDCFileRepresents the complete list of Distributed Class descriptions as read from a .dc file
 CDCKeywordListThis is a list of keywords (see DCKeyword) that may be set on a particular field
 CDCPackDataThis is a block of data that receives the results of DCPacker
 CDCPackerThis class can be used for packing a series of numeric and string data into a binary stream, according to the DC specification
 CDCPackerInterfaceThis defines the internal interface for packing values into a DCField
 CDecompressorThis manages run-time decompression of a zlib-compressed stream, as a background or foreground task
 CDefault
 CDelayedCall
 CDelayedFunctor
 CDeltaProfiler
 CDialog
 CDiff
 CDirectBoundingBox
 CDirectNotify
 CDirectObject
 CDirectObject
 CDisplayConnection
 CDisplayInformationThis class contains various display information
 CDisplayMode
 CDisplaySearchParametersParameters used for searching display capabilities
 CDistributedNode
 CDistributedObject
 CDistributedObjectAI
 CDistributedSmoothNodeBase
 CDJointFeedback
 CDoCollectionManager
 CDocumentSpecA descriptor that refers to a particular version of a document
 CDoHierarchy
 CDoubleBitMaskBitMaskNative
 CDoubleBitMaskDoubleBitMaskNative
 CDownloadDbA listing of files within multifiles for management of client-side synchronization with a server-provided set of files
 CDrawableRegionThis is a base class for GraphicsWindow (actually, GraphicsOutput) and DisplayRegion, both of which are conceptually rectangular regions into which drawing commands may be issued
 CDSearchPathThis class stores a list of directories that can be searched, in order, to locate a particular file
 CDummyTaskClass
 CDxBody
 CDxGeom
 CDxJoint
 CDxJointGroup
 CDxSpace
 CDxTriMeshData
 CDxWorld
 CEggMaterialCollectionThis is a collection of materials by MRef name
 CEggRenderModeThis class stores miscellaneous rendering properties that is associated with geometry, and which may be set on the geometry primitive level, on the group above it, or indirectly via a texture
 CEggTextureCollectionThis is a collection of textures by TRef name
 CEggTransformThis represents the <Transform> entry of a group or texture node: a list of component transform operations, applied in order, that describe a net transform matrix
 CEnum
 CEnumIter
 CEvent
 CEventManager
 CEventParameterAn optional parameter associated with an event
 CEventQueueA queue of pending events
 CException
 CPackager.ExcludeFilename
 CExecutionEnvironmentEncapsulates access to the environment variables and command-line arguments at the time of execution
 CExtractorThis class automatically extracts the contents of a Multifile to the current directory (or to a specified directory) in the background
 CFactory
 CFakeDelObject
 CFakeObject
 CFileDropTarget
 CFileMgr
 CFilenameThe name of a file, such as a texture file or an Egg file
 CFileSpec
 CFilterConfig
 CFlockThis class is used to define the flock attributes and the AI characters which are part of the flock
 CFontPoolThis is the preferred interface for loading fonts for the TextNode system
 CFourState
 CFourStateAI
 CFrame
 CFrameBufferPropertiesA container for the various kinds of properties we might ask to have on a graphics frameBuffer before we create a GSG
 CFrameDelayedCall
 CFrameProfiler
 Cfunc_closure
 CFunctor
 CFunctor
 CGamepadButtonThis class is just used as a convenient namespace for grouping all of these handy functions that return buttons which map to gamepad buttons
 CGarbageReportScheduler
 CGCTrigger
 CGeomCacheManagerThis is used to keep track of, and limit the size of, the cache of munged vertices, which would otherwise be distributed through all of the GeomVertexData objects in the system
 CGeomEnumsThis class exists just to provide scoping for the various enumerated types used by Geom, GeomVertexData, GeomVertexArrayData, GeomPrimitive, and other related classes
 CGLCanvas
 CGlobPatternThis class can be used to test for string matches against standard Unix- shell filename globbing conventions
 CGoldenRectangle
 CGPUCommandClass for storing data to be transferred to the GPU
 CGPUCommandListClass to store a list of commands
 CGraphicsPipeSelectionThis maintains a list of GraphicsPipes by type that are available for creation
 CGraphicsThreadingModelThis represents the user's specification of how a particular frame is handled by the various threads
 CGridChild
 CGridParent
 CHashValStores a 128-bit value that represents the hashed contents (typically MD5) of a file or buffer
 CPNMImageHeader::Histogram
 CHistogram
 CPackager.HostEntry
 CHostInfo
 CHTTPCookieA cookie sent from an HTTP server to be stored on the client and returned when the path and/or domain matches
 CHTTPDateA container for an HTTP-legal time/date indication
 CHTTPEntityTagA container for an "entity tag" from an HTTP server
 CHTTPEnumThis class is just used as a namespace wrapper for some of the enumerated types used by various classes within the HTTPClient family
 CIcon
 CIControl
 CIESDatasetThis class generates a LUT from IES data
 CIndirection
 CInputDeviceManagerThis class keeps track of all the devices on a system, and sends out events when a device has been hot-plugged
 CInputDeviceSetManages a list of InputDevice objects, as returned by various InputDeviceManager methods
 CInputStateToken
 CInputStateTokenGroup
 CInspectorClasses
 CInspectorWindow
 CInstalledHostData
 CInstalledPackageData
 CInstaller
 CPackageInfo.InstallStep
 CInterestHandle
 CInterestState
 CInterface
 CConnectionManager::Interface
 CInternalLightManagerInternal class used for handling lights and shadows
 CInternalNameCollection
 CIOBase
 CIosBase
 CJobManager
 CKeyboardButtonThis class is just used as a convenient namespace for grouping all of these handy functions that return buttons which map to standard keyboard keys
 CLeakDetector
 CLevelLoaderBase
 CLFrustumd
 CLFrustumf
 CLightThe abstract interface to all kinds of lights
 CLightMutexDirectThis class implements a lightweight Mutex by making direct calls to the underlying implementation layer
 CLightReMutexDirectThis class implements a standard lightReMutex by making direct calls to the underlying implementation layer
 CLinkedListNode
 CLMatrix3dThis is a 3-by-3 transform matrix
 CLMatrix3fThis is a 3-by-3 transform matrix
 CLMatrix4dThis is a 4-by-4 transform matrix
 CLMatrix4fThis is a 4-by-4 transform matrix
 CLoaderFileTypeRegistryThis class maintains the set of all known LoaderFileTypes in the universe
 CLoaderOptionsSpecifies parameters that may be passed to the loader
 CLockType
 CLogger
 CLParaboladAn abstract mathematical description of a parabola, particularly useful for describing arcs of projectiles
 CLParabolafAn abstract mathematical description of a parabola, particularly useful for describing arcs of projectiles
 CLVecBase2dThis is the base class for all two-component vectors and points
 CLVecBase2fThis is the base class for all two-component vectors and points
 CLVecBase2iThis is the base class for all two-component vectors and points
 CLVecBase3dThis is the base class for all three-component vectors and points
 CLVecBase3fThis is the base class for all three-component vectors and points
 CLVecBase3iThis is the base class for all three-component vectors and points
 CLVecBase4dThis is the base class for all three-component vectors and points
 CLVecBase4fThis is the base class for all three-component vectors and points
 CLVecBase4iThis is the base class for all three-component vectors and points
 CMaterialCollection
 CMaterialPoolThe MaterialPool (there is only one in the universe) serves to unify different pointers to the same Material, so we do not (a) waste memory with many different Material objects that are all equivalent, and (b) waste time switching the graphics engine between different Material states that are really the same thing
 CMathNumbers
 CMegaArchetype
 CMegaToplevel
 CMegaWidget
 CMemoryBase
 CMemoryExplorerItem
 CMemoryHook
 CMemoryUsagePointersThis is a list of pointers returned by a MemoryUsage object in response to some query
 CMenu
 CMersenne
 CMessageLeakDetectorBase
 CMessenger
 CMethodWrapper
 CMiniLog
 CMiniLogSentry
 CMiniTask
 CMiniTaskManager
 CModelPoolThis class unifies all references to the same filename, so that multiple attempts to load the same model will return the same pointer
 CModifierButtonsThis class monitors the state of a number of individual buttons and tracks whether each button is known to be down or up
 CMotionTrailFrame
 CMotionTrailVertex
 CMouseButtonThis class is just used as a convenient namespace for grouping all of these handy functions that return buttons which map to standard mouse buttons
 CMouseWatcherBaseThis represents a collection of MouseWatcherRegions that may be managed as a group
 CMouseWatcherParameterThis is sent along as a parameter to most events generated for a region to indicate the mouse and button state for the event
 CMultitexReducerThis object presents an interface for generating new texture images that represent the combined images from one or more individual textures, reproducing certain kinds of multitexture effects without depending on multitexture support in the hardware
 CMutex
 CMutexDirectThis class implements a standard mutex by making direct calls to the underlying implementation layer
 CNetAddressRepresents a network address to which UDP packets may be sent or to which a TCP socket may be bound
 CNeverFreeMemoryThis class is used to allocate bytes of memory from a pool that is never intended to be freed
 CNodePathNodePath is the fundamental system for disambiguating instances, and also provides a higher-level interface for manipulating the scene graph
 CNodePath
 CNodePathCollectionThis is a set of zero or more NodePaths
 CNoDictKey
 CNonlinearImagerThis class object combines the rendered output of a 3-d from one or more linear (e.g
 CNotifier
 CNotifyAn object that handles general error reporting to the user
 CNotifyPanel
 CNurbsCurveInterfaceThis abstract class defines the interface only for a Nurbs-style curve, with knots and coordinates in homogeneous space
 CServerRepository.Object
 Cobject
 CObjectGen
 CObjectHandler
 CObjectMgrBase
 CObjectPaletteBase
 CObjectPool
 CObjectRef
 CObjectReport
 COdeJointCollection
 COdeUtil
 COnScreenDebug
 COpenSSLWrapperProvides an interface wrapper around the OpenSSL library, to ensure that the library is properly initialized in the application, and to provide some hooks into global OpenSSL context data
 CPatchMaker.Package
 CPackager.Package
 CPackageMerger.PackageEntry
 CPackager.PackageEntry
 CPackageInfo
 CPackageMerger
 CPackager
 CPackageTree
 CPatchMaker.PackageVersion
 CPackager.PackFile
 CPandaSystemThis class is used as a namespace to group several global properties of Panda
 CPanel
 CParentMgr
 CPandaNode::Parents
 CParents
 CActor.PartDef
 CParticleSystemManagerManages a set of individual ParticleSystem objects, so that each individual one doesn't have to be updated and rendered every frame See Also : particleSystemManager.cxx
 CPartSubsetThis class is used to define a subset of part names to apply to the PartBundle::bind_anim() operation
 CPatcherApplies a patch synchronously
 CPatchfile
 CPatchMaker.Patchfile
 CPatchMaker
 CPackageInstaller.PendingPackage
 CPerlinNoiseThis is the base class for PerlinNoise2 and PerlinNoise3, different dimensions of Perlin noise implementation
 CPfmVizzerThis class aids in the visualization and manipulation of PfmFile objects
 CPGButtonNotify
 CPGFrameStyle
 CPGSliderBarNotify
 CPhasedObject
 CPhysicsManagerPhysics don't get much higher-level than this
 CPhysicsObjectCollectionThis is a set of zero or more PhysicsObjects
 CPickler
 CPixel
 CPixelSpec
 CPNMImageHeader::PixelSpec
 CPixelSpecCount
 CPNMImageHeader::PixelSpecCount
 CPNMFileTypeRegistryThis class maintains the set of all known PNMFileTypes in the universe
 CPNMImageHeaderThis is the base class of PNMImage, PNMReader, and PNMWriter
 CPNMPainterThis class provides a number of convenient methods for painting drawings directly into a PNMImage
 CPNMTextGlyphA single glyph in a PNMTextMaker
 CPointerDataHolds the data that might be generated by a 2-d pointer input device, such as the mouse in the GraphicsWindow
 CPool
 CPriorityCallbacks
 CProcess
 CProfileSession
 CProfileTimer
 CProgressBar
 CProtoObjs
 CPSSMCameraRigMain class used for handling PSSM
 CPStatCollectorA lightweight class that represents a single element that may be timed and/or counted via stats
 CPStatsCallback
 CPStatScope
 CPStatThreadA lightweight class that represents a single thread of execution to PStats
 CPushesStateChanges
 CPyDropTarget
 CQueue
 CQueuedReturnConnectionListenerData
 CQueuedReturnDatagram
 CQueuedReturnNetDatagram
 CQueuedReturnPointerToConnection
 CRamfileAn in-memory buffer specifically designed for downloading files to memory
 CRandomizerA handy class to return random numbers
 CRandomNumGen
 CReceivesMultipleStateChanges
 CReceivesStateChanges
 CRecorderBaseThis is the base class to a number of objects that record particular kinds of user input (like a MouseRecorder) to use in conjunction with a RecorderController to record the user's inputs for a session
 CReMutex
 CReMutexDirectThis class implements a standard reMutex by making direct calls to the underlying implementation layer
 CRenderAttribRegistryThis class is used to associate each RenderAttrib with a different slot index at runtime, so we can store a list of RenderAttribs in the RenderState object, and very quickly look them up by type
 CLoader::Results
 CDSearchPath::Results
 CResults
 CRotatingLog
 CPNMImage::Row
 CLMatrix3d::Row
 CLMatrix4f::Row
 CLMatrix3f::Row
 CRow
 CLMatrix4d::Row
 CSamplerStateRepresents a set of settings that indicate how a texture is sampled
 CScanDirectoryNode
 CSceneGraphAnalyzerA handy class that can scrub over a scene graph and collect interesting statistics on it
 CSceneGraphReducerAn interface for simplifying ("flattening") scene graphs by eliminating unneeded nodes and collapsing out unneeded state changes and transforms
 CScratchPad
 CScriptAttributes
 CSemaphoreA classic semaphore synchronization primitive
 CSemaphore
 CSeqValue
 CSerialNumGen
 CServerRepository
 CSfxPlayer
 CShaderInputThis is a small container class that can hold any one of the value types that can be passed as input to a shader
 CShaderPoolThis is the preferred interface for loading shaders for the TextNode system
 CShadowAtlasClass which manages distributing shadow maps in an atlas
 CShadowCaster
 CSlider
 CSmoothMoverThis class handles smoothing of sampled motion points over time, e.g
 CSocketAddressA simple place to store and manipulate tcp and port address for communication layer
 CSocketFdset
 CSparseArrayThis class records a set of integers, where each integer is either present or not present in the set
 CSSReaderAn internal class for reading from a socket stream
 CSSWriterAn internal class for writing to a socket stream
 CStack
 CStackedPerlinNoise2Implements a multi-layer PerlinNoise, with one or more high-frequency noise functions added to a lower-frequency base noise function
 CStackedPerlinNoise3Implements a multi-layer PerlinNoise, with one or more high-frequency noise functions added to a lower-frequency base noise function
 CStackTrace
 CStagedObject
 CStandalone
 CStashed
 CPandaNode::Stashed
 CStats
 CStdoutCapture
 CStreamReaderA class to read sequential binary data directly from an istream
 CStreamWrapperBaseThe base class for both IStreamWrapper and OStreamWrapper, this provides the common locking interface
 CStreamWriterA StreamWriter object is used to write sequential binary data directly to an ostream
 CSubfileInfoThis class records a particular byte sub-range within an existing file on disk
 CSubframeCall
 CActor.SubpartDef
 CSync
 CTagStateManagerThis class handles all different tag states
 CTarInfo
 CTaskLeakDetectorBase
 CTaskManager
 CTaskProfiler
 CTaskThread
 CTaskThreaded
 CTaskTracker
 CTestCase
 CTestLoader
 CTestSuite
 CTexPlacement
 CTexRecord
 CTextAssemblerThis class is not normally used directly by user code, but is used by the TextNode to lay out a block of text and convert it into rows of Geoms according to the TextProperties
 CTextDropTarget
 CTextEncoderThis class can be used to convert text between multiple representations, e.g
 CTextGraphicThis defines a special model that has been constructed for the purposes of embedding an arbitrary graphic image within a text paragraph
 CTextPropertiesThis defines the set of visual properties that may be assigned to the individual characters of the text
 CTextPropertiesManagerThis defines all of the TextProperties structures that might be referenced by name from an embedded text string
 CTextTestRunner
 CTextureCollectionManages a list of Texture objects, as returned by TexturePool::find_all_textures()
 CTexturePoolThis is the preferred interface for loading textures from image files
 CTextureStageCollection
 CTextureStagePoolThe TextureStagePool (there is only one in the universe) serves to unify different pointers to the same TextureStage, mainly to help developers use a common pointer to access things that are loaded from different model files
 CThreadBase
 CTimer
 CTimeVal
 CTiXmlAttributeSet
 CTiXmlBaseTiXmlBase is a base class for every class in TinyXml
 CTiXmlCursor
 CTiXmlHandleA TiXmlHandle is a class that wraps a node pointer with null checks; this is an incredibly useful thing
 CTiXmlVisitorImplements the interface to the "Visitor pattern" (see the Accept() method.) If you call the Accept() method, it requires being passed a TiXmlVisitor class to handle callbacks
 CToplevel
 CTouchInfoStores information for a single touch event
 CTrackerDataStores the kinds of data that a tracker might output
 CTransformBlendThis defines a single entry in a TransformBlendTable
 CTransitions
 CTreeCtrl
 CTreeItem
 CTreeNode
 CTriangulatorThis class can triangulate a convex or concave polygon, even one with holes
 CTrueClockAn interface to whatever real-time clock we might have available in the current environment
 Ctype
 CTypeHandleTypeHandle is the identifier used to differentiate C++ class types
 CUnalignedLMatrix4dThis is an "unaligned" LMatrix4
 CUnalignedLMatrix4fThis is an "unaligned" LMatrix4
 CUnalignedLVecBase4dThis is an "unaligned" LVecBase4
 CUnalignedLVecBase4fThis is an "unaligned" LVecBase4
 CUnalignedLVecBase4iThis is an "unaligned" LVecBase4
 CUndefinedObject
 CUniqueIdAllocatorManage a set of ID values from min to max inclusive
 CUnpickler
 CUpdateSeqThis is a sequence number that increments monotonically
 CURLSpecA container for a URL, e.g
 CValueError
 CVertexDataBookA collection of VertexDataPages, which can be used to allocate new VertexDataBlock objects
 CVFSImporter
 CVFSLoader
 CVFSSharedImporter
 CVFSSharedLoader
 CViewportManager
 CVirtualFileSystemA hierarchy of directories and files that appears to be one continuous file system, even though the files may originate from several different sources that may not be related to the actual OS's file system
 CWeakNodePathThis class is a wrapper around a NodePath that, unlike the actual NodePath class, doesn't hold a reference count to the node
 CWeightedChoice
 CWindow
 CWindowControls
 CWindowPropertiesA container for the various kinds of properties we might ask to have on a graphics window before we open it
 CWorkingNodePathThis is a class designed to support low-overhead traversals of the complete scene graph, with a memory of the complete path through the graph at any given point
 CScrolledPanel
 CWxPandaWindow